<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<!--Endpoint:每一个 WCF 服务都会关系到地址(Address)、绑定(Binding)和契约(Contract),而 WCF 则通过 Endpoint 将 ABC 三个方面联系在一起。每一个 Endpoint 都必须包括 ABC 三个方面,缺一不可,而 host 进程会提供 Endpoint 供客户端调用。每个 Endpoint 都对应一个唯一地址,但是多个 Endpoint 可以共享相同的绑定和契约,每个服务又可以提供多个 Endpoint 供客户端掉用。-->
<system.serviceModel>
<bindings>
<!--这里面可以自己定义WCF服务协议-->
<!--<mexHttpBinding></mexHttpBinding>
<mexTcpBinding></mexTcpBinding>
<webHttpBinding>
<binding name="AllenBehavior"></binding>
</webHttpBinding>-->
</bindings>
<behaviors>
<!-- 定义Endpiont的行为-->
<endpointBehaviors>
<behavior name="AllenBehavior"></behavior>
</endpointBehaviors>
<!--region 这一段可以不用-->
<serviceBehaviors>
<behavior name="AllenBehavior">
<!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点
//httpsGetEnabled https连接
指定service元数据发布和相关信息属性说明:
httpGetEnabled - bool类型的值,表示是否允许通过HTTP的get方法获取sevice的WSDL元数据
httpGetUrl - 如果httpGetEnabled为true,这个属性指示使用哪个URL地址发布服务的WSDL, 如果这个属性没有设置,则使用服务的HTTP类型的baseAddress后面加上?WSDL -->
<serviceMetadata httpGetEnabled="true" httpGetUrl="" />
<!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
</behavior>
</serviceBehaviors>
<!--end-->
</behaviors>
<!--region 这一段可以不用-->
<!-- 包含客户端跟服务端连接使用到的Endpoint的配置 -->
<client>
<!-- 每个客户端Endpoint设置
属性说明:
address 对应到服务端这个Endpoint的address
binding - 指定这个Endpoint使用的binding,这个banding可以是系统预定义的9个binding之一,比如是basicHttpBinding
contract - 指定这个Endpoint对应的Contract的全限定名(名称空间.类型名)
name - Endpoint的配置名,客户端代理类的构造方法中的endpointConfigurationName对应到这个name
bindingConfiguration - 指定客户端binding的具体设置,指向<bindings>元素下同类型binding的name -->
<!--<endpoint address=""
binding="webHttpBinding" bindingConfiguration="AllenBehavior"
contract="WcfService.IUserService" name="endpoint配置名" />-->
</client>
<!--end-->
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<services>
<!--name:wcf服务 命名空间+类名
behaviorConfiguration:行为组态
behaviorConfiguration:与子节点对应的相同
-->
<service name="WcfService.UserService" behaviorConfiguration="AllenBehavior">
<!--
behaviorConfiguration :
对应endpointBehaviors节点中behavior的属性name,
或者取协议里面节点binding的属性name。
binding:属性说明WCF服务使用什么协议,这里是HTTP协议(mexHttpBinding:mexTcpBinding:webHttpBinding。。。)
contract:属性是描述契约的接口名称,也必须是完整的.如果没有接口直接写实现契约的类型名
address: 指定这个Endpoint对外的URI,这个URI可以是个绝对地址,也可以是个相对于baseAddress的相对地址。如果此属性为空,则这个Endpoint的地址就是baseAddress
-->
<endpoint address="" behaviorConfiguration="AllenBehavior" binding="webHttpBinding" contract="WcfService.IUserService" />
<!-- region 可以不写-->
<host>
<baseAddresses>
<!-- 在此可以定义每种传输协议的baseAddress,用于跟使用同样传输协议Endpoint定义的相对地
址组成完整的地址,但是每种传输协议只能定义一个baseAddress。HTTP的baseAddress同时是service
对外发布元数据的URL-->
<add baseAddress="http://www.ccc.com"/>
</baseAddresses>
</host>
<!--end-->
</service>
</services>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
多服务配置
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<services>
<service name="ChinaQueue.Restaurant.WCFService.ServiceImplementations.PrinterSer" behaviorConfiguration="sb">
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8081" />
</baseAddresses>
</host>
<endpoint name="NetTcpBinding_IPrinterServer" address="PrinterSer" binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IServer" contract="ChinaQueue.Restaurant.WCFService.ServiceContracts.IPrinterSer" />
<endpoint name="MexTcpBinding_IPrinterServer" address="Printer" binding="mexTcpBinding" contract="IMetadataExchange" />
</service>
<service name="ChinaQueue.Restaurant.WCFService.ServiceImplementations.CounterSer" behaviorConfiguration="sb">
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8081" />
</baseAddresses>
</host>
<endpoint name="NetTcpBinding_ICounterServer" address="CounterSer" binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IServer" contract="ChinaQueue.Restaurant.WCFService.ServiceContracts.ICounterSer" />
<endpoint name="MexTcpBinding_ICounterServer" address="Counter" binding="mexTcpBinding" contract="IMetadataExchange" />
</service>
<service name="ChinaQueue.Restaurant.WCFService.ServiceImplementations.QuerySer" behaviorConfiguration="sb">
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8081" />
</baseAddresses>
</host>
<endpoint name="NetTcpBinding_IQueryServer" address="QuerySer" binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IServer" contract="ChinaQueue.Restaurant.WCFService.ServiceContracts.IQuerySer" />
<endpoint name="MexTcpBinding_IQueryServer" address="Query" binding="mexTcpBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="sb">
<serviceMetadata />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<netTcpBinding>
<binding name="NetTcpBinding_IServer">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
<security mode="None">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
<message clientCredentialType="Windows" />
</security>
</binding>
</netTcpBinding>
</bindings>
<client>
<endpoint address="net.tcp://localhost:8081/PrinterSer" binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IServer" contract="ChinaQueue.Restaurant.WCFService.ServiceContracts.IPrinterSer" name="NetTcpBinding_IPrinterServer" />
<endpoint address="net.tcp://localhost:8081/CounterSer" binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IServer" contract="ChinaQueue.Restaurant.WCFService.ServiceContracts.ICounterSer" name="NetTcpBinding_ICounterServer" />
<endpoint address="net.tcp://localhost:8081/QuerySer" binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IServer" contract="ChinaQueue.Restaurant.WCFService.ServiceContracts.IQuerySer" name="NetTcpBinding_IQueryServer" />
</client>
</system.serviceModel>
</configuration>
多服务链接http://topic.csdn.net/u/20090306/10/d3a0b047-2634-4ffa-9cb0-e4c24b122f90.html
WCF配置文件详解,多服务配置
最新推荐文章于 2020-10-27 15:08:52 发布