ServiceMetadataBehavior Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Управляет публикацией метаданных службы и связанных сведений.
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
- Наследование
-
ServiceMetadataBehavior
- Реализации
Примеры
В следующем примере кода показано использование ServiceMetadataBehavior в файле конфигурации для поддержки метаданных для HTTP GET и 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>
Комментарии
ServiceMetadataBehavior Добавьте объект в ServiceDescription.Behaviors коллекцию (или <элемент serviceMetadata> в файле конфигурации приложения), чтобы включить или отключить публикацию метаданных службы. Однако добавление поведения в службу недостаточно для включения публикации метаданных:
Чтобы включить получение метаданных WS-Transfer GET, необходимо также добавить конечную точку в службу, в которой находится
IMetadataExchangeконтракт. Пример см. в статье "Практическое руководство. Публикация метаданных для службы с помощью кода". КонечнуюIMetadataExchangeточку можно настроить как любую другую конечную точку.Чтобы включить получение метаданных HTTP GET, задайте HttpGetEnabled для свойства значение
true. Дополнительные сведения об адресе метаданных HTTP GET см. в разделе HttpGetEnabled.
Адрес конечной точки соответствует обычным правилам в отношении сочетания IMetadataExchange базовых адресов и адресов конечных точек. Дополнительные сведения см. в разделе "Публикация метаданных".
Чтобы включить публикацию метаданных с помощью файла конфигурации, добавьте элемент serviceMetadata> в элемент serviceBehaviors и свяжите< его с элементом <службы>, для которого требуется опубликовать метаданные.>< Пример см. в статье "Практическое руководство. Публикация метаданных для службы с помощью файла конфигурации". Класс имеет следующие члены:
Свойство HttpGetEnabled указывает, возвращаются ли метаданные для запросов HTTP/GET.
Свойство HttpGetUrl (в сочетании с базовыми адресами) указывает HTTP/GET-адрес.
Свойство HttpsGetEnabled указывает, возвращаются ли метаданные для запроса HTTPS/GET.
Свойство HttpsGetUrl (в сочетании с базовыми адресами) указывает АДРЕС HTTPS/GET.
Свойство MetadataExporter возвращает базовый экспортер.
ServiceMetadataBehavior Обычно используется из файла конфигурации приложения. См. раздел "Пример" для примера кода.
Конструкторы
| Имя | Описание |
|---|---|
| ServiceMetadataBehavior() |
Инициализирует новый экземпляр класса ServiceMetadataBehavior. |
Поля
| Имя | Описание |
|---|---|
| MexContractName |
Возвращает строку |
Свойства
| Имя | Описание |
|---|---|
| ExternalMetadataLocation |
Возвращает или задает значение, которое является расположением метаданных службы. |
| HttpGetBinding |
Возвращает или задает привязку, используемую для настройки извлечения метаданных при использовании ПРОТОКОЛА HTTP. |
| HttpGetEnabled |
Возвращает или задает значение, указывающее, следует ли публиковать метаданные службы для получения с помощью http/GET-запроса. |
| HttpGetUrl |
Возвращает или задает расположение публикации метаданных для запросов HTTP/GET. |
| HttpsGetBinding |
Возвращает или задает привязку, используемую для настройки извлечения метаданных при использовании ПРОТОКОЛА HTTPS. |
| HttpsGetEnabled |
Возвращает или задает значение, указывающее, следует ли публиковать метаданные службы для получения с помощью запроса HTTPS/GET. |
| HttpsGetUrl |
Возвращает или задает расположение публикации метаданных для запросов HTTPS/GET. |
| MetadataExporter |
Возвращает или задает внутренний MetadataExporter объект, используемый для публикации метаданных службы. |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
IServiceBehavior Реализация, которая настраивает базовые привязки для поддержки поведения. |
| IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
IServiceBehavior Реализация, которая настраивает базовые привязки для поддержки поведения в службе. |
| IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
IServiceBehavior Реализация этого проверяет, может ли описание службы поддерживать поведение. |