开发工具:
Microsoft Visual Studio 2010
1.创建自己的WCF 服务引用程序,如图1
2.自定义服务方法和方法实现
Web.config 文件手动参数配置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<services>
<service name="SearchWCFService.CNPatentSearchService" behaviorConfiguration="CalculatorServiceBehavior">
<endpoint address="" binding="wsHttpBinding" contract="SearchWCFService.ICNPatentSearchService"></endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="CalculatorServiceBehavior">
<!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->
<serviceMetadata httpGetEnabled="true"/>
<!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
说明:
由于我们是部署到IIS,所以在配置文件中不需要指定WCF 服务的根节点信息
3.生成项目,将web.config 文件、*.svc文件、以及bin 目录部署应用程序到IIS
4.访问部署的项目,以查看其是否部署成功,如下图所示出现代理类生成说明和调用示例则说明部署成功。
5.WCF服务的调用
5.1 通过项目中 “添加服务引用...”的方式进行调用
1.如图,选中项目的引用,右键选择“添加服务引用...”
2.输入WCF 在IIS中部署后的http 地址,点击"前往(G)"按钮,即可发现并引用服务
5.2 通过Svcutil.exe 工具生成代理类调用
1.找到如下地址“C:\Windows\System32\cmd.exe” 命令行工具,右键以管理员身份运行(视系统是否为win7 而定)
2.输入如下命令:"C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\SvcUtil.exe" /out:C:\WCFClint\ClientCode.cs /config:C:\WCFClint\app.config http://localhost:81/WCFServiceTest/CNPatentSearchService.svc
说明:
参数1: “C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\SvcUtil.exe” ,是指 SvcUtil.exe 工具的地址
参数2: “C:\WCFClint\ClientCode.cs ” ,是指生成的代理类输出存放到的地址
参数3: “C:\WCFClint\app.config ” ,是指存放到调用WCF服务程序目录下的配置文件的输出存放地址
参数4: “http://localhost:81/WCFServiceTest/CNPatentSearchService.svc” ,是指部署到IIS 的WCF服务的地址
3.运行以上命令后,会在"C:\WCFClint\"目录下生成两个文件,ClientCode.cs 和app.config
(C:\WCFClint\app.config 中已经为我们配置好了WCF服务的根节点等必须的信息,当然,如果您也可以自己对部分参数进行修改)
4.将ClientCode.cs 和app.config 添加到需要调用WCF服务的项目中
5.在需要调用WCF服务的项目中添加对"System.ServiceModel" 和"System.Runtime.Serialization" 程序集的引用
6.自此就完成了部署和代理类生成的所有操作,我们只需要在项目中实例化 ClientCode.cs 中的服务类 ,并调用其中的方法即可