一、新建一个WCF程序
1、新建立空白解决方案,并新建一个项目,项目类型为:WCF服务应用程序。如下图所示:
2、删除系统生成的两个文件IService1.cs与Service1.svc。
3、添加自定义的WCF【服务文件】OnePiece.svc,系统会自动生成WCF接口文件IOnePiece.cs,
我们在IOnePiece中定义WCF方法DoMyWork,在OnePiece.svc.cs对该接口的方法进行实现,代码如下:
4、在WCF中的接口与普通接口的区别只在于两个上下文,其他的和我们正常学习的接口一样。
定义这个上下文要添加System.ServiceModel的引用。
[ServiceContract],来说明接口是一个WCF的接口,如果不加的话,将不能被外部调用。
[OperationContract],来说明该方法是一个WCF接口的方法,不加的话同上。
此时我们的第一个WCF服务程序就建立好了,将OnePiece.svc“设为起始页”,如下:
然后F5运行一下试试,如下图所示:
二、配置IIS
1、检查Windows7中IIS是否安装了必要的组件
方法:控制面板->程序和功能->打开或关闭Windows功能,如下所示:
2、检查IIS的配置
系统必备安装完成后打开IIS服务管理器,点默认网站,双击“处理程序映射”,如下:
检查一下下图框内部分是否已经存在,没有则WCF服务是无法调用的。
安装方法:
a、运行cmd命令行工具。
b、进入WCF文件夹:cd C:\WINDOWS\Microsoft.NET\Framework\v3.0\Windows Communication Foundation
c、执行:ServiceModelReg.exe -i
安装完成后打开IIS
在网站上右键,选择添加网站,在物理路径输入wcfservice项目的路径,然后随便指定一个网站名称即可,如下:
然后在我们自己的wcf项目上右键,点击添加虚拟目录,选择到wcf项目的路径,然后随便取一个别名,如下:
如果配置正确的话,可以看到如下:
疑难杂症,有时候事情总不是我们想的那么顺利,如果你也有下面这些问题,那么请参考:
1、有时候会因为你的.NET Framework版本不对而无法正常运行,
检查应用程序池是用的哪个版本,一般改成v4.0的就好了,如下:
2、如果报错说没权限之类的,则右键“编辑权限...”,然后增加一个“Everyone”,权限都勾上,如下:
3、如果报错说“处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler””,
则参考:http://blog.csdn.net/aphy358/article/details/49834721