4

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

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

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

安装和配置 WCF 组件

在 WAS 中托管 WCF 服务

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

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

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

我不知道用什么来代替<WCF Application>。同样,似乎缺少一个以“类似 IIS 托管”的方式发布服务的先前步骤。

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

这里有没有人成功地托管和使用了一项服务?你对我有什么指示吗?

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

4

3 回答 3

5

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

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

于 2009-04-28T10:41:59.517 回答
1

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

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

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

于 2010-06-04T12:40:02.527 回答
1

我有同样的问题,但让它工作。看到这个问题。让我知道指南中是否有任何您需要帮助的内容。

在 Web 应用程序中设置 WCF TCP 服务

于 2013-05-25T08:31:30.397 回答