开发工具:
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 中的服务类 ,并调用其中的方法即可