ServiceMetadataBehavior Sınıf
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.
Hizmet meta verilerinin ve ilişkili bilgilerin yayınını denetler.
public ref class ServiceMetadataBehavior : System::ServiceModel::Description::IServiceBehavior
public class ServiceMetadataBehavior : System.ServiceModel.Description.IServiceBehavior
type ServiceMetadataBehavior = class
interface IServiceBehavior
Public Class ServiceMetadataBehavior
Implements IServiceBehavior
- Devralma
-
ServiceMetadataBehavior
- Uygulamalar
Ö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
ServiceMetadataBehavior Hizmet meta verilerinin ServiceDescription.Behaviors yayımlanmasını etkinleştirmek veya devre dışı bırakmak için koleksiyona (veya <uygulama yapılandırma dosyasındaki serviceMetadata> öğesine) bir nesne ekleyin. Ancak, meta veri yayınını etkinleştirmek için bir hizmete davranışı eklemek yeterli değildir:
WS-Transfer GET meta veri alımını etkinleştirmek için, hizmetinize sözleşmenin olduğu
IMetadataExchangebir uç nokta da eklemeniz gerekir. Bir örnek için bkz . Nasıl yapılır: Kod Kullanarak Bir Hizmet için Meta Verileri Yayımlama. UçIMetadataExchangenokta, diğer uç noktalarda olduğu gibi yapılandırılabilir.HTTP GET meta veri alımını etkinleştirmek için özelliğini olarak
trueayarlayınHttpGetEnabled. HTTP GET meta verilerinin adresi hakkında daha fazla bilgi için bkz HttpGetEnabled. .
Uç noktanın IMetadataExchange adresi, temel adreslerin ve uç nokta adreslerinin birleşimiyle ilgili normal kurallara uyar. Daha fazla bilgi için bkz . Yayımlama Meta Verileri.
Yapılandırma dosyası kullanarak meta verilerin yayımlanmasını etkinleştirmek için serviceMetadata öğesini serviceBehaviors öğesine ekleyin< ve öğesini meta verileri yayımlamak istediğiniz hizmet öğesiyle ilişkilendirin.><><> Bir örnek için bkz . Nasıl yapılır: Yapılandırma Dosyası Kullanarak Hizmet için Meta Verileri Yayımlama. sınıfı aşağıdaki üyelere sahiptir:
özelliği, HttpGetEnabled HTTP/GET istekleri için meta verilerin döndürülip döndürülmeyeceğini belirtir.
HttpGetUrl özelliği (temel adreslerle birlikte) HTTP/GET adresini belirtir.
özelliği, HttpsGetEnabled HTTPS/GET isteği için meta verilerin döndürülip döndürülmeyeceğini belirtir.
HttpsGetUrl özelliği (temel adreslerle birlikte) HTTPS/GET adresini belirtir.
özelliği, MetadataExporter temel alınan vereni döndürür.
ServiceMetadataBehavior genellikle bir uygulama yapılandırma dosyasından kullanılır. Kod örneği için Örnek bölümüne bakın.
Oluşturucular
| Name | Description |
|---|---|
| ServiceMetadataBehavior() |
ServiceMetadataBehavior sınıfının yeni bir örneğini başlatır. |
Alanlar
| Name | Description |
|---|---|
| MexContractName |
|
Özellikler
| Name | Description |
|---|---|
| ExternalMetadataLocation |
Hizmet meta verilerinin konumu olan bir değeri alır veya ayarlar. |
| HttpGetBinding |
Aktarım HTTP olduğunda meta veri alımını yapılandırmak için kullanılan bağlamayı alır veya ayarlar. |
| HttpGetEnabled |
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. |
| HttpGetUrl |
HTTP/GET istekleri için meta veri yayınının konumunu alır veya ayarlar. |
| HttpsGetBinding |
Aktarım HTTPS olduğunda meta veri alımını yapılandırmak için kullanılan bağlamayı alır veya ayarlar. |
| HttpsGetEnabled |
HTTPS/GET isteği kullanarak alma için hizmet meta verilerinin yayımlanıp yayımlanmayacağını belirten bir değer alır veya ayarlar. |
| HttpsGetUrl |
HTTPS/GET istekleri için meta veri yayınının konumunu alır veya ayarlar. |
| MetadataExporter |
Hizmet meta verilerini yayımlamak için kullanılan iç MetadataExporter nesneyi alır veya ayarlar. |
Yöntemler
| Name | Description |
|---|---|
| Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
| GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Bunun uygulanması, IServiceBehavior davranışı desteklemek için temel alınan bağlamaları yapılandırıyor. |
| IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Bunun uygulanması, IServiceBehavior hizmet üzerindeki davranışı desteklemek için temel bağlamaları yapılandırıyor. |
| IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Bunun uygulanması IServiceBehavior , hizmet açıklamasının davranışı destekleyeebileceğini doğrular. |