Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 正在承载具有net.tcp绑定的WCF服务_.net_Wcf_Wcf Binding_Was_Net.tcp - Fatal编程技术网

.net 正在承载具有net.tcp绑定的WCF服务

.net 正在承载具有net.tcp绑定的WCF服务,.net,wcf,wcf-binding,was,net.tcp,.net,Wcf,Wcf Binding,Was,Net.tcp,我正试图在一堆计算机上发布一个计算服务,这些计算机将被应用服务器使用。计算服务器是有状态的,需要能够执行异步回调,因此我希望通过TCP使用每个会话的设置 服务应用程序是使用VS2008中的WCF服务应用程序项目类型构建的 碰巧calculation service机器正在运行Vista,所以根据我阅读的文档,我应该能够使用WAS主机。我正试图按照微软关于这个主题的指示: 但我很早就遇到麻烦了。我应该将.svc文件放在应用程序的虚拟目录中。但由于我没有使用IIS托管,如何创建虚拟目录?以上文件

我正试图在一堆计算机上发布一个计算服务,这些计算机将被应用服务器使用。计算服务器是有状态的,需要能够执行异步回调,因此我希望通过TCP使用每个会话的设置

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

碰巧calculation service机器正在运行Vista,所以根据我阅读的文档,我应该能够使用WAS主机。我正试图按照微软关于这个主题的指示:

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

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

%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/<WCF Application>" /enabledProtocols:net.tcp
%windir%\system32\inetsrv\appcmd.exe设置应用程序“默认网站/”/enabledProtocols:net.tcp
我不知道用什么来代替
。同样,前面的步骤似乎缺失了,即以“类似IIS托管”的方式发布服务

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

这里有人成功地托管和使用了服务吗?你有什么建议给我吗


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

因为WASIIS体系结构的一部分,您需要在IIS网站(例如“默认网站”)中创建一个虚拟目录,该目录指向您正在托管的WCF服务的物理位置。然后,您必须在该虚拟目录上创建一个应用程序,就像您为ASP.NET网站或ASMX web服务创建应用程序一样。
通过使用IIS 7的管理控制台
,您可以轻松做到这一点

您可以阅读IIS7中有关WAS工作原理的详细信息。

有关WAS hosting的详细指南,请参阅。

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

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


在启用的协议部分,只需添加net.tcp和voila

我也有同样的问题,但还是解决了。看这个问题。如果指南中有什么需要帮助的地方,请告诉我


谢谢,我是用IIS管理器完成的。但是,net.tcp在“编辑绑定”对话框中不可用。我不明白为什么,因为我添加了非http激活。