ServiceMetadataBehavior Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Řídí publikování metadat služby a souvisejících informací.
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
- Dědičnost
-
ServiceMetadataBehavior
- Implementuje
Příklady
Následující příklad kódu ukazuje použití ServiceMetadataBehavior v konfiguračním souboru k povolení podpory metadat pro požadavky HTTP GET a WS-Transfer GET.
// 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>
Poznámky
ServiceMetadataBehavior Přidáním objektu ServiceDescription.Behaviors do kolekce (nebo <elementu serviceMetadata> v konfiguračním souboru aplikace) povolíte nebo zakážete publikování metadat služby. Přidání chování do služby ale nestačí k povolení publikování metadat:
Pokud chcete povolit WS-Transfer načítání metadat GET, musíte také přidat koncový bod do vaší služby, ve které je
IMetadataExchange
kontrakt . Příklad najdete v tématu Postupy: Publikování metadat pro službu pomocí kódu. KoncovýIMetadataExchange
bod je možné nakonfigurovat jako jakýkoli jiný koncový bod.Chcete-li povolit načítání metadat HTTP GET, nastavte HttpGetEnabled vlastnost na
true
. Další informace o adrese metadat HTTP GET naleznete v tématu HttpGetEnabled.
Adresa koncového IMetadataExchange
bodu se řídí normálními pravidly týkajícími se kombinace základních adres a adres koncových bodů. Další informace najdete v tématu Metadata publikování.
Pokud chcete povolit publikování metadat pomocí konfiguračního souboru, přidejte <element serviceMetadata> do elementu <serviceBehaviors> a přidružte element <k elementu služby> , pro který chcete publikovat metadata. Příklad najdete v tématu Postupy: Publikování metadat pro službu pomocí konfiguračního souboru. Třída má následující členy:
Vlastnost HttpGetEnabled určuje, jestli jsou metadata vrácena pro požadavky HTTP/GET.
Vlastnost HttpGetUrl (ve spojení se základními adresami) určuje adresu HTTP/GET.
Vlastnost HttpsGetEnabled určuje, jestli se pro požadavek HTTPS/GET vrátí metadata.
Vlastnost HttpsGetUrl (ve spojení se základními adresami) určuje adresu HTTPS/GET.
Vlastnost MetadataExporter vrátí podkladový vývozce.
Obvykle se ServiceMetadataBehavior používá z konfiguračního souboru aplikace. Příklad kódu najdete v části Příklad.
Konstruktory
ServiceMetadataBehavior() |
Inicializuje novou instanci ServiceMetadataBehavior třídy. |
Pole
MexContractName |
Vrátí řetězec |
Vlastnosti
ExternalMetadataLocation |
Získá nebo nastaví hodnotu, která je umístěním metadat služby. |
HttpGetBinding |
Získá nebo nastaví vazbu použitou ke konfiguraci načítání metadat při přenosu http. |
HttpGetEnabled |
Získá nebo nastaví hodnotu, která označuje, zda publikovat metadata služby pro načtení pomocí požadavku HTTP/GET. |
HttpGetUrl |
Získá nebo nastaví umístění publikace metadat pro požadavky HTTP/GET. |
HttpsGetBinding |
Získá nebo nastaví vazbu použitou ke konfiguraci načítání metadat při přenosu HTTPS. |
HttpsGetEnabled |
Získá nebo nastaví hodnotu, která označuje, zda publikovat metadata služby pro načtení pomocí požadavku HTTPS/GET. |
HttpsGetUrl |
Získá nebo nastaví umístění publikace metadat pro požadavky HTTPS/GET. |
MetadataExporter |
Získá nebo nastaví interní MetadataExporter objekt použitý k publikování metadat služby. |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
IServiceBehavior Implementace, která nakonfiguruje základní vazby tak, aby podporovala chování. |
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
IServiceBehavior Implementace, která konfiguruje podkladové vazby tak, aby podporovala chování ve službě. |
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
IServiceBehavior Implementace, která ověřuje, že popis služby může podporovat chování. |