ServiceMetadataBehavior.HttpGetEnabled Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
HTTP/GET isteği kullanarak alma için hizmet meta verilerinin yayımlanıp yayımlanmayacağını belirten bir değer alır veya ayarlar.
public:
property bool HttpGetEnabled { bool get(); void set(bool value); };
public bool HttpGetEnabled { get; set; }
member this.HttpGetEnabled : bool with get, set
Public Property HttpGetEnabled As Boolean
Özellik Değeri
true
WSDL yayımlanırsa; aksi takdirde , false
. Varsayılan değer: false
.
Örnekler
Aşağıdaki kod örneği, HTTP/GET ve WS-Transfer/GET istekleri için meta veri desteğini etkinleştirmek üzere bir yapılandırma dosyasında kullanımını ServiceMetadataBehavior gösterir.
// Create a new metadata behavior object and set its properties to
// create a secure endpoint.
ServiceMetadataBehavior sb = new ServiceMetadataBehavior();
//sb.EnableHelpPage= true;
//sb.HttpsGetUrl = new Uri("https://myMachineName:8036/myEndpoint");
//myServiceHost.Description.Behaviors.Add(sb);
}
private void SnippetServiceMetadataBehavior()
{
// service for which <<indigo2>> automatically adds a
// ServiceMetadataBehavior to publish metadata as well as
// an HTML service help page
// from C_HowToSecureEndpoint\cs
// Create a new metadata behavior object and set its properties to
// create a secure endpoint.
ServiceMetadataBehavior sb = new ServiceMetadataBehavior();
/* sb.EnableHelpPage = true;
sb.enableMetadataExchange = true;
sb.HttpsGetUrl = new Uri("https://myMachineName:8036/myEndpoint");
myServiceHost.Description.Behaviors.Add(sb);
*/
}
private void Run()
{
// T:System.ServiceModel.ServiceMetadataBehavior
// <Snippet#0>
// Create a ServiceHost for the service type and use the base address from configuration.
ServiceHost host = new ServiceHost(typeof(SampleService));
try
{
ServiceMetadataBehavior metad
= host.Description.Behaviors.Find<ServiceMetadataBehavior>();
if (metad == null)
metad = new ServiceMetadataBehavior();
metad.HttpGetEnabled = true;
host.Description.Behaviors.Add(metad);
host.AddServiceEndpoint(
ServiceMetadataBehavior.MexContractName,
MetadataExchangeBindings.CreateMexHttpBinding(),
"mex"
);
// The service can now be accessed.
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
// Close the ServiceHostBase to shutdown the service.
host.Close();
// </Snippet#0>
Açıklamalar
değeri HttpGetUrl göreliyse, meta verilerin yayımlandığı adres temel adres ve hizmet adresi ile bir ?wsdl
sorgu dizesidir.
değeri HttpGetUrl mutlaksa, meta verilerin yayımlandığı adres değerin HttpGetUrl değeri ve bir ?wsdl
sorgu dizesidir.
Örneğin, hizmet adresi ise http://localhost:8080/CalculatorService
ve HttpGetUrl boş bir dizeyse, HTTP/GET meta veri adresi olur http://localhost:8080/CalculatorService?wsdl
.
Bu özelliği etkinleştirmez ve göreli bir adrese ayarlamazsanız HttpGetUrl , hizmet konağı HTTP için temel adres olmadan açıldığında çalışma zamanında bir özel durum oluşturulur.