.net - WAS 托管带有 net.tcp 绑定(bind)的 WCF 服务

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

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

该服务应用程序是使用 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 连接到它。

这里有人成功托管和使用服务吗?你有什么建议可以指点我吗?

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

最佳答案

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

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

关于.net - WAS 托管带有 net.tcp 绑定(bind)的 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/796682/

相关文章:

.net - app.config 创建和读取部分的问题

c# - 流通过

.net - HttpClient 不会在 W10 UAP 中发送相同的请求

c# - [DataContract] 的命名空间

android - 如何在 Android 中使用 WCF .SVC

.net - 如何在 iis 中托管启用了网络命名管道绑定(bind)的 wcf 应用程序?

WCF 不接收消息 - 如何调试 WCF 服务?

c# - 异步方法 .Result 与同步方法

asp.net-mvc - 使用 WCF 进行 ASP 表单例份验证?

wcf - 配置 WCF 客户端绑定(bind)以在 dotnet core 2.2 中使用 X509 证书