转载出处:http://mingyuejishiyou.ok.blog.163.com/blog/static/116279787201383882754/
1. 创建一个WCF服务项目
2. 创建一个WCF服务站点。在解决方案上右击,选择“添加”->“新建网站”,打开新建网站对话框。在“添加新网站”对话框中,我们选择“WCF服务”
建立的站点如下图,其中在App_Co
3. 将第1步建立的项目添加到第2步创建的站点中。右键单击“WCFService1”->“添加引用”
4. 修改站点的service.svc文件。如下:
<%@ ServiceHost Language="C#" Debug="true" Service="cityflood.Service1" %>
删掉CodeBehind属性
5. 配置服务站点与服务项目的之间的类的对应
(有时会出现右键选项中无“编辑WCF配置”,可点击“工具”->“WCF服务配置编辑器”之后,右键菜单中就会出现此项。)
在弹出的服务配置窗口中,把Service服务指定到WCF服务库的cityflood.dll中的cityflood. Service1服务类上。
把其中的一个对外终结点的Contract设为WCF服务库的cityflood.dll中的cityflood. Services1服务契约上。
可再添加一个通信的终结点。
当我们使用IIS5或IIS6发布WCF服务的时候一般只创建Http绑定的终结点,而不能创建使用TCP绑定、管道绑定的终结点。
6. 测试服务。右键单击“Service.svc”,选择在“浏览器中查看”,在IE中运行得到下图。
由此可看到已经在ASP.NET Development Server中发布自己的WCF服务了。
7. 在cityflood项目中找到“web”选项卡,使用IIS调试,就是部署在IIS的虚拟目录上了
在IIS建立Web应用程,指向我们的WCF服务站点所在的目录。然后在IIS运行我们发布的WCF服务
在上图中,已经看不到之前的端口号,这说明在IIS发布WCF服务成功。
8. 测试。
在在WCF测试客户端调用我们刚刚在IIS中发布的WCF服务。
以“管理员”的身份运行“Visual Studio 2008 命令提示”,在窗口中输入“WcfTestClient”
可以看到发布的服务中有两个终结点:这两个终结点的传输方式不同,但提供的方法是相同的。
(补充:服务发布。)
右击服务站点,选择“发布网站”
在“Internet信息服务(IIS)管理器”中选择“Default Web Site”,右击选择“添加应用程序”,将刚才发布的文件夹添加到“物理路径”中
这就把网站添加到IIS中了。
右击“flood”->“编辑权限”-> “安全”->“编辑”->“添加”->“输入对象名称来选择”中输入“everyone” ->“检查名称”->“确定”。将Everyone的权限设为完全控制。
右击“flood”选择“切换到内容视图”。右键“Service.svc”->“浏览”,即可得到发布成功的、无端口的网页。
注意:
在添加网站前,确定“Default Web Site”的“管理网站”是“启动”状态。
在打开网页后有可能出现下面这种情况。
这是IIS不能解译”.svc”文件的问题。打开“Default Web Site”中的“处理程序映射”
查看是否包含红框内的内容。
如果没有,以管理员的身份运行“cmd.exe”,运行“cd 系统盘:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation”,再输入“ServiceModelReg.exe -i”。再查看“处理程序映射”,里面就有红框内的内容了,再“浏览”“Service.svc”就OK了。