[Programming WCF Services]Chapter 1. WCF Essentials - Metadata Exchange

it2026-04-12  5

1.HTTP-GET WCF 方式

通过Http的方式提供metadata

1.1.配置文件方式

<system.serviceModel> <services> <service name = "MyService" behaviorConfiguration = "MEXGET"> <host> <baseAddresses> <add baseAddress = "http://localhost:8000/"/> </baseAddresses> </host> ... </service> <service name = "MyOtherService" behaviorConfiguration = "MEXGET"> <host> <baseAddresses> <add baseAddress = "http://localhost:8001/"/> </baseAddresses> </host> ... </service> </services> <behaviors> <serviceBehaviors> <behavior name = "MEXGET"> <serviceMetadata httpGetEnabled = "true"/> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel>

 一般通过HTTP的基地址即可以访问元数据,也可以指定不同的地址:

<behavior name = "MEXGET"> <serviceMetadata httpGetEnabled = "true" httpGetUrl = "MyMEXAddress"/> </behavior>

 

 

1.2.代码方式

ServiceHost host = new ServiceHost(typeof(MyService)); ServiceMetadataBehavior metadataBehavior; metadataBehavior = host.Description.Behaviors.Find<ServiceMetadataBehavior>(); if(metadataBehavior == null) { Debug.Assert(BaseAddresses.Any(baseAddress=>baseAddress.Uri.Scheme == "http")); metadataBehavior = new ServiceMetadataBehavior(); metadataBehavior.HttpGetEnabled = true; host.Description.Behaviors.Add(metadataBehavior); } host.Open();

 

 

2.Metadata Exchange Endpoint

平台无关的元数据交换方式,支持多种协议

<services> <service name = "MyService" behaviorConfiguration = "MEX"> <host> <baseAddresses> <add baseAddress = "net.tcp://localhost:8001/"/> <add baseAddress = "net.pipe://localhost/"/> </baseAddresses> </host> <endpoint address = "MEX" binding = "mexTcpBinding" contract = "IMetadataExchange" /> <endpoint address = "MEX" binding = "mexNamedPipeBinding" contract = "IMetadataExchange" /> <endpoint address = "http://localhost:8000/MEX" binding = "mexHttpBinding" contract = "IMetadataExchange" /> ... </service> </services> <behaviors> <serviceBehaviors> <behavior name = "MEX"> <serviceMetadata/> </behavior> </serviceBehaviors> </behaviors>

 

转载于:https://www.cnblogs.com/vicsmb/p/5248799.html

相关资源:数据结构—成绩单生成器
最新回复(0)