ServiceMetadataBehavior 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
서비스 메타데이터 및 관련 정보의 게시를 제어합니다.
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 컬렉션(또는 애플리케이션 구성 파일의 <serviceMetadata> 요소)에 개체 ServiceDescription.Behaviors 를 추가하여 서비스 메타데이터 게시를 사용하거나 사용하지 않도록 설정합니다. 그러나 메타데이터 게시를 사용하려면 서비스에 동작을 추가하는 작업 외에 다른 작업도 수행해야 합니다.
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 구현입니다. |