ServiceMetadataBehavior Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee bepaalt u de publicatie van servicemetagegevens en bijbehorende informatie.
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
- Overname
-
ServiceMetadataBehavior
- Implementeringen
Voorbeelden
In het volgende codevoorbeeld ziet u hoe ServiceMetadataBehavior u in een configuratiebestand metagegevensondersteuning kunt inschakelen voor HTTP GET en WS-Transfer GET-aanvragen.
// 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>
Opmerkingen
Voeg een ServiceMetadataBehavior object toe aan de ServiceDescription.Behaviors verzameling (of het <serviceMetadata-element> in een toepassingsconfiguratiebestand) om de publicatie van servicemetagegevens in of uit te schakelen. Het toevoegen van het gedrag aan een service is echter niet voldoende om de publicatie van metagegevens in te schakelen:
Als u het ophalen van WS-Transfer GET-metagegevens wilt inschakelen, moet u ook een eindpunt toevoegen aan uw service waarin het contract zich bevindt
IMetadataExchange. Zie Voor een voorbeeld : Metagegevens voor een service publiceren met behulp van code. HetIMetadataExchangeeindpunt kan worden geconfigureerd zoals elk ander eindpunt.Als u het ophalen van HTTP GET-metagegevens wilt inschakelen, stelt u de HttpGetEnabled eigenschap in op
true. Zie voor meer informatie over het adres van HTTP GET-metagegevens HttpGetEnabled.
Het adres van het IMetadataExchange eindpunt volgt de normale regels met betrekking tot de combinatie van basisadressen en eindpuntadressen. Zie Publicatiemetagegevens voor meer informatie.
Als u de publicatie van metagegevens met behulp van een configuratiebestand wilt inschakelen, voegt u het <element serviceMetadata> toe aan het <element serviceBehaviors> en koppelt u het element aan het <service-element> waarvoor u metagegevens wilt publiceren. Zie Voor een voorbeeld : Metagegevens voor een service publiceren met behulp van een configuratiebestand. De klasse heeft de volgende leden:
De HttpGetEnabled eigenschap geeft aan of metagegevens worden geretourneerd voor HTTP/GET-aanvragen.
De HttpGetUrl eigenschap (in combinatie met de basisadressen) geeft het HTTP/GET-adres op.
De HttpsGetEnabled eigenschap geeft aan of metagegevens worden geretourneerd voor een HTTPS/GET-aanvraag.
De HttpsGetUrl eigenschap (in combinatie met de basisadressen) geeft het HTTPS/GET-adres op.
De MetadataExporter eigenschap retourneert de onderliggende exporteur.
Meestal wordt het ServiceMetadataBehavior gebruikt vanuit een toepassingsconfiguratiebestand. Zie de sectie Voorbeeld voor een codevoorbeeld.
Constructors
| Name | Description |
|---|---|
| ServiceMetadataBehavior() |
Initialiseert een nieuw exemplaar van de ServiceMetadataBehavior klasse. |
Velden
| Name | Description |
|---|---|
| MexContractName |
Retourneert de tekenreeks |
Eigenschappen
| Name | Description |
|---|---|
| ExternalMetadataLocation |
Hiermee wordt een waarde opgehaald of ingesteld die de locatie is van de metagegevens van de service. |
| HttpGetBinding |
Hiermee haalt u een binding op die wordt gebruikt om het ophalen van metagegevens te configureren wanneer het transport HTTP is. |
| HttpGetEnabled |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de metagegevens van de service moeten worden gepubliceerd voor het ophalen met behulp van een HTTP/GET-aanvraag. |
| HttpGetUrl |
Hiermee haalt u de locatie van de metagegevenspublicatie op voor HTTP-/GET-aanvragen of stelt u deze in. |
| HttpsGetBinding |
Hiermee haalt u een binding op die wordt gebruikt om het ophalen van metagegevens te configureren wanneer het transport HTTPS is. |
| HttpsGetEnabled |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de metagegevens van de service moeten worden gepubliceerd voor het ophalen met behulp van een HTTPS/GET-aanvraag. |
| HttpsGetUrl |
Hiermee haalt u de locatie van de metagegevenspublicatie voor HTTPS/GET-aanvragen op of stelt u deze in. |
| MetadataExporter |
Hiermee haalt u het interne MetadataExporter object op dat wordt gebruikt voor het publiceren van de metagegevens van de service. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Implementatie hiervan IServiceBehavior configureert de onderliggende bindingen om het gedrag te ondersteunen. |
| IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Implementatie hiervan IServiceBehavior configureert de onderliggende bindingen om het gedrag van de service te ondersteunen. |
| IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Implementatie van IServiceBehavior die validatie valideert dat de servicebeschrijving het gedrag kan ondersteunen. |