ServiceMetadataBehavior Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Styr publiceringen av tjänstmetadata och tillhörande information.
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
- Arv
-
ServiceMetadataBehavior
- Implementeringar
Exempel
Följande kodexempel visar användningen av ServiceMetadataBehavior i en konfigurationsfil för att aktivera metadatastöd för HTTP GET- och WS-Transfer GET-begäranden.
// 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>
Kommentarer
Lägg till ett ServiceMetadataBehavior objekt i ServiceDescription.Behaviors samlingen (eller <serviceMetadata-elementet> i en programkonfigurationsfil) för att aktivera eller inaktivera publiceringen av tjänstmetadata. Att lägga till beteendet i en tjänst räcker dock inte för att aktivera metadatapublikation:
Om du vill aktivera hämtning av WS-Transfer GET-metadata måste du också lägga till en slutpunkt i din tjänst där kontraktet är
IMetadataExchange. Ett exempel finns i How to: Publish Metadata for a Service Using Code (Publicera metadata för en tjänst med kod). SlutpunktenIMetadataExchangekan konfigureras liksom andra slutpunkter.Om du vill aktivera hämtning av HTTP GET-metadata anger du egenskapen HttpGetEnabled till
true. Mer information om adressen för HTTP GET-metadata finns i HttpGetEnabled.
Slutpunktens IMetadataExchange adress följer de normala reglerna för kombinationen av basadresser och slutpunktsadresser. Mer information finns i Publicera metadata.
Om du vill aktivera publicering av metadata med hjälp av en konfigurationsfil lägger du till elementet< serviceMetadata> i elementet< serviceBehaviors> och associerar elementet med det< tjänstelement> som du vill publicera metadata för. Ett exempel finns i How to: Publish Metadata for a Service Using a Configuration File (Publicera metadata för en tjänst med hjälp av en konfigurationsfil). Klassen har följande medlemmar:
Egenskapen HttpGetEnabled anger om metadata returneras för HTTP/GET-begäranden.
Egenskapen HttpGetUrl (tillsammans med basadresserna) anger HTTP/GET-adressen.
Egenskapen HttpsGetEnabled anger om metadata returneras för en HTTPS/GET-begäran.
Egenskapen HttpsGetUrl (tillsammans med basadresserna) anger HTTPS/GET-adressen.
Egenskapen MetadataExporter returnerar den underliggande exportören.
ServiceMetadataBehavior Används vanligtvis från en programkonfigurationsfil. Se avsnittet Exempel för ett kodexempel.
Konstruktorer
| Name | Description |
|---|---|
| ServiceMetadataBehavior() |
Initierar en ny instans av ServiceMetadataBehavior klassen. |
Fält
| Name | Description |
|---|---|
| MexContractName |
Returnerar strängen |
Egenskaper
| Name | Description |
|---|---|
| ExternalMetadataLocation |
Hämtar eller anger ett värde som är platsen för tjänstmetadata. |
| HttpGetBinding |
Hämtar eller anger en bindning som används för att konfigurera metadatahämtning när transporten är HTTP. |
| HttpGetEnabled |
Hämtar eller anger ett värde som anger om tjänstens metadata ska publiceras för hämtning med hjälp av en HTTP/GET-begäran. |
| HttpGetUrl |
Hämtar eller anger platsen för metadatapublikation för HTTP/GET-begäranden. |
| HttpsGetBinding |
Hämtar eller anger en bindning som används för att konfigurera metadatahämtning när transporten är HTTPS. |
| HttpsGetEnabled |
Hämtar eller anger ett värde som anger om tjänstens metadata ska publiceras för hämtning med hjälp av en HTTPS/GET-begäran. |
| HttpsGetUrl |
Hämtar eller anger platsen för metadatapublikation för HTTPS/GET-begäranden. |
| MetadataExporter |
Hämtar eller anger det interna MetadataExporter objekt som används för att publicera tjänstens metadata. |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Implementeringen av IServiceBehavior detta konfigurerar de underliggande bindningarna för att stödja beteendet. |
| IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Implementering av IServiceBehavior detta konfigurerar de underliggande bindningarna för att stödja beteendet på tjänsten. |
| IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Implementeringen av IServiceBehavior detta verifierar att tjänstbeskrivningen kan stödja beteendet. |