IIS发布WCF服务[转载]

转载出处:http://mingyuejishiyou.ok.blog.163.com/blog/static/116279787201383882754/


1.       创建一个WCF服务项目

IIS发布WCF服务 - 教父 - 教父 的博客

IIS发布WCF服务 - 教父 - 教父 的博客

2.       创建一个WCF服务站点。在解决方案上右击,选择添加”->“新建网站,打开新建网站对话框。在添加新网站对话框中,我们选择“WCF服务

IIS发布WCF服务 - 教父 - 教父 的博客

建立的站点如下图,其中在App_Code文件夹下有自动生成两个类文件:IService.csService.cs,这两个文件没用,删掉。

IIS发布WCF服务 - 教父 - 教父 的博客

3.       将第1步建立的项目添加到第2步创建的站点中。右键单击“WCFService1->“添加引用”

IIS发布WCF服务 - 教父 - 教父 的博客

4.       修改站点的service.svc文件。如下:

<%@ ServiceHost Language="C#" Debug="true" Service="cityflood.Service1" %>

删掉CodeBehind属性

5.       配置服务站点与服务项目的之间的类的对应

IIS发布WCF服务 - 教父 - 教父 的博客

(有时会出现右键选项中无“编辑WCF配置”,可点击“工具”->WCF服务配置编辑器”之后,右键菜单中就会出现此项。)

在弹出的服务配置窗口中,把Service服务指定到WCF服务库的cityflood.dll中的cityflood. Service1服务类上。

IIS发布WCF服务 - 教父 - 教父 的博客

把其中的一个对外终结点的Contract设为WCF服务库的cityflood.dll中的cityflood. Services1服务契约上。

IIS发布WCF服务 - 教父 - 教父 的博客

可再添加一个通信的终结点。

当我们使用IIS5IIS6发布WCF服务的时候一般只创建Http绑定的终结点,而不能创建使用TCP绑定、管道绑定的终结点。

IIS发布WCF服务 - 教父 - 教父 的博客  

6.       测试服务。右键单击“Service.svc,选择在“浏览器中查看”,在IE中运行得到下图。

IIS发布WCF服务 - 教父 - 教父 的博客

由此可看到已经在ASP.NET Development Server中发布自己的WCF服务了。

7.       cityflood项目中找到“web”选项卡,使用IIS调试,就是部署在IIS虚拟目录上了

IIS发布WCF服务 - 教父 - 教父 的博客

IIS建立Web应用程,指向我们的WCF服务站点所在的目录。然后在IIS运行我们发布的WCF服务

IIS发布WCF服务 - 教父 - 教父 的博客

在上图中,已经看不到之前的端口号,这说明在IIS发布WCF服务成功。

8.       测试。

在在WCF测试客户端调用我们刚刚在IIS中发布的WCF服务。

IIS发布WCF服务 - 教父 - 教父 的博客

以“管理员”的身份运行“Visual Studio 2008 命令提示”,在窗口中输入“WcfTestClient

IIS发布WCF服务 - 教父 - 教父 的博客

可以看到发布的服务中有两个终结点:这两个终结点的传输方式不同,但提供方法是相同的。

IIS发布WCF服务 - 教父 - 教父 的博客  

补充:服务发布。

右击服务站点,选择“发布网站”

IIS发布WCF服务 - 教父 - 教父 的博客

在“Internet信息服务(IIS)管理器”中选择Default Web Site,右击选择“添加应用程序”,将刚才发布的文件夹添加到“物理路径”中

IIS发布WCF服务 - 教父 - 教父 的博客

IIS发布WCF服务 - 教父 - 教父 的博客

这就把网站添加到IIS中了。

IIS发布WCF服务 - 教父 - 教父 的博客

右击“flood->“编辑权限”-> “安全”->“编辑”->“添加”->“输入对象名称来选择”中输入“everyone ->“检查名称”->“确定”。将Everyone的权限设为完全控制。

IIS发布WCF服务 - 教父 - 教父 的博客

IIS发布WCF服务 - 教父 - 教父 的博客

IIS发布WCF服务 - 教父 - 教父 的博客

右击“flood”选择“切换到内容视图”。右键“Service.svc->“浏览”,即可得到发布成功的、无端口的网页。

IIS发布WCF服务 - 教父 - 教父 的博客

注意:

在添加网站前,确定Default Web Site的“管理网站”是“启动”状态。

在打开网页后有可能出现下面这种情况。

IIS发布WCF服务 - 教父 - 教父 的博客

这是IIS不能解译”.svc”文件的问题。打开“Default Web Site”中的“处理程序映射”

IIS发布WCF服务 - 教父 - 教父 的博客

查看是否包含红框内的内容。

IIS发布WCF服务 - 教父 - 教父 的博客

如果没有,以管理员的身份运行“cmd.exe”,运行“cd 系统盘:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation”,再输入“ServiceModelReg.exe  -i”。再查看“处理程序映射”,里面就有红框内的内容了,再“浏览”“Service.svc”就OK了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值