23.2.2 配置WCF服务的ABC
在完成了定义WCF服务的操作之后,还需要配置WCF服务的ABC。配置WCF服务的ABC操作是在App.config配置文件中完成的。WCF服务的ABC可以定义在配置文件中通过修改配置文件中的相关信息来完成。
说明:在默认的情况下,是不需要修改App.config配置文件中的配置信息的。如果修改了IService1.cs文件的名称,则需要修改App.config配置文件中与IService1.cs文件名称相关的配置信息;如果没有修改IService1.cs文件的名称,采用App.config配置文件中默认的配置信息即可。
App.config配置文件中的代码如下:
- <?xml version="1.0" encoding="utf-8" ?>
- <configuration>
- <system.web>
- <compilation debug="true" />
- </system.web>
- <!-- 部署服务库项目时,必须将配置文件的内容添加到主机的 app.config 文件中。System.
- Configuration 不支持库的配置文件-->
- <system.serviceModel>
- <services>
- <service name="WcfServiceLibrary1.Service1"
- behaviorConfiguration="WcfServiceLibrary1.Service1Behavior">
- <host>
- <baseAddresses>
- <add baseAddress =
- "http://localhost:8731/Design_Time_Addresses/WcfServiceLibrary1/ Service1/" />
- </baseAddresses>
- </host>
- <!-- Service Endpoints -->
- <!-- 除非完全限定,否则地址将与上面提供的基址相关 -->
- <endpoint address =""
- binding="wsHttpBinding"
- contract="WcfServiceLibrary1.IService1">
- <!-- 部署时,应删除或替换下列标识元素,以反映在其下运行部署服务的标识。删除 之后,WCF 将自动推导相应标识-->
- <identity>
- <dns value="localhost"/>
- </identity>
- </endpoint>
- <!-- Metadata Endpoints -->
- <!-- 元数据交换终结点由服务用于向客户端做自我描述。此终结点不使用安全绑定,应 在部署前确保其安全或将其删除-->
- <endpoint address="mex" binding="mexHttpBinding" contract="IMeta- dataExchange"/>
- </service>
- </services>
- <behaviors>
- <serviceBehaviors>
- <behavior name="WcfServiceLibrary1.Service1Behavior">
- <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数 据终结点 -->
- <serviceMetadata httpGetEnabled="True"/>
- <!-- 要接收故障异常详细信息以进行调试,请将下值设置为 true。在部署前设置为 false 以避免泄漏异常信息-->
- <serviceDebug includeExceptionDetailInFaults="False" />
- </behavior>
- </serviceBehaviors>
- </behaviors>
- </system.serviceModel>
- </configuration>
在完成配置WCF服务的ABC操作之后,右击项目,在弹出的快捷菜单中选择“重新生成”命令,编译WCF服务项目。
说明:此时如果编译有错,需要修改WCF服务项目中的程序代码,直到程序调试成功为止,否则客户端程序将无法启用此服务。