restart/iisreset是否禁用NET.TCP协议?

Kev*_*ley 6 wcf iis-7 tcp was

我在Windows Server 08,sp2上的IIS7中托管WCF服务.该服务作为自己的网站托管,并通过NET.TCP端点公开.该服务完美运行,直到发出restart/iisreset命令.

在重新启动或iisreset之后,当我进行任何服务调用时,我收到以下错误:'System.ServiceModel.EndpointNotFoundException:无法分派消息,因为端点地址处的服务'net.tcp:// [website]/[ service_name] .svc'不适用于地址协议..'

服务器的事件日志显示以下错误:'尝试读取并实例化已配置的ProcessHandlerType时发生错误.例外:System.ArgumentException消息:未知的协议ID"NET.TCP".StackTrace:在System.Web.Hosting.ProcessHost.StartProcessProtocolListenerChannel(String protocolId,IListenerChannelCallback listenerChannelCallback)'

问题:我该如何解决这个问题?为什么在iisreset之后禁用NET.TCP协议?这是一个错误吗?我错过了一些配置吗?

IIS设置详细信息: - 服务器08和08 R2 - 绑定:http,NET.TCP(808:*) - EnabledProtols:http,NET.TCP. - 网站appPool的标识设置为特定用户.

此处提供示例代码:http://drop.io/wcfTcpSampleService

谢谢

Kev*_*ley 9

解决了.问题是区分大小写.在Web应用程序的AdvancedSettings中,EnabledProtocols字段必须是小写,即'net.tcp'(我刚从MS支持中学到了这一点).

我假设(愚蠢地)'NET.TCP'应该是大写的,因为EnabledProtocols字段的描述("...添加那些值,例如NET.TCP ......").

奇怪的,未知的问题是它第一次与"NET.TCP"一起使用,但这是另一个问题.

谢谢你们所有人的帮助.