WAS使用net.tcp绑定托管WCF服务

时间:2009-04-28 07:44:29

标签: .net wcf wcf-binding was net.tcp

我正在尝试在一堆将由应用程序服务器使用的计算机上发布计算服务。计算服务器是有状态的,需要能够执行异步回调,所以我想通过TCP使用每个会话设置。

服务应用程序是使用VS2008中的WCF服务应用程序项目类型构建的。

实际上计算服务机器正在运行Vista,所以根据我读过的文档,我应该可以使用WAS托管。我正在尝试遵循Microsoft关于此主题的说明:

Install and configure WCF components

Host a WCF service in WAS

但我很早就遇到了麻烦。我应该将.svc文件放在我的应用程序的虚拟目录中。但由于我不使用IIS主机,如何创建虚拟目录?上面的文档对此并不清楚。

此外,当尝试运行允许net.tcp访问我的应用程序的命令时:

%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/<WCF Application>" /enabledProtocols:net.tcp

我不知道要替换<WCF Application>的内容。同样,似乎有一个先前的步骤缺少以“IIS托管式”方式发布服务的地方。

我已经创建了一个尝试使用该服务的测试应用程序。当我单击“添加服务引用”时,它会发现我的服务,但无法使用net.tcp连接到它。

有没有人在WAS托管和使用服务方面取得了成功?你有什么指示吗?

更新:我现在尝试使用IIS管理器(右键单击 - &gt;编辑绑定...)将net.tcp绑定添加到网站,但Add ...对话框中唯一可用的协议是http和https 。该列表中没有net.tcp。是的,我安装了非http激活组件......非常奇怪。

3 个答案:

答案 0 :(得分:5)

由于 WAS IIS架构的一部分,您需要在IIS 网站虚拟目录 >(例如“默认网站”)指向您托管的WCF服务的物理位置。然后,您必须在该虚拟目录上创建应用程序,就像在ASP.NET网站或ASMX Web服务上一样。 您可以使用 IIS 7的管理控制台轻松完成此操作。

您可以阅读有关WAS如何在IIS7 here中工作的详细信息
有关WAS托管的更多分步指南,请查看this article

答案 1 :(得分:1)

您需要将net.tcp绑定添加到IIS中应用程序的绑定。

右键单击IIS中的虚拟目录/应用程序 - &gt;管理应用程序 - &gt;高级设置。

在Enabled Protocols部分中,只需添加net.tcp和voila !!

答案 2 :(得分:1)

我遇到了同样的问题,但却让它发挥作用。看到这个问题。如果指南中有任何内容您需要帮助,请告诉我。

Setting up WCF TCP service in a web application