IIS 7.5 - Enabled Protocols is case-sensitive
I'm not a developer, so I might not be providing all the info or using all the right terms here, so please be patient with me. :-) I also couldn't find an exact match for the forum to post in. I encountered a strange behavior in IIS (Windows 2008 R2/IIS 7.5). A Line of Business application we are building uses WCF with protocols "http" and "net.pipe". There seems to be some inconsistent case-sensitivity for the value in the "Enabled Protocols" setting. (I explain exactly which setting I mean in steps at the end of this post.) On Stage Server, in WebSiteA, this setting is "http,Net.pipe". On PreProd Server, in WebSiteA, this setting is "http,net.pipe". On PreProd Server, when we change the setting from "Net.pipe" to "net.pipe (upper-case "N" to lower-case "n"), the application breaks. That is the only change to break the application and I can reproduce it on demand anytime. In Stage Server, in WebSiteA, making the same change has no effect. In the System Log we see this error -- A listener channel for protocol 'Net.pipe' in worker process '3152' serving application pool 'AddParseAppPoolA' reported a listener channel failure. In the Application Log we see this error -- An error occurred while trying to read and instantiate the configured ProcessHandlerType.Exception: /line break/ System.ArgumentException /line break/ Message: Unknown protocol ID 'Net.pipe'. Can anyone explain this behavior? Is it a bug? Is there a registry value called "EnableCaseSensitivityOnlyInEnabledProtocolsValue" that I need to set to "False"? :) The only similar situation I found searching was at stackoverflow -- http://stackoverflow.com/questions/3049811/restart-iisreset-disables-net-tcp-protocol A little more about the LOB application: In this LOB application we are building/testing, there is of course the "Root Application" defined on the root of the web site. There are also three other Applications defined on folders (virtual directories) under the web site. Initial requests can come in over the network via http to one of the Applications. To fulfill the request, that Application might need to make a call to one of the other Applications defined in the web site. When that happens, endpoints and bindings are configured to make the call locally over "net.pipe". To view this setting: Open IIS Manager In the left pane, expand the "Sites" node Right-click on a web site (which is also an IIS Application) Select "Manage Web Site" Select "Advanced Settings" In the "Advanced Settings" property sheet, under "Behavior", look for the value of "Enabled Protocols". If the web site has sub-folders which are also IIS Applications, there is a property sheet for each of those with an "Enabled Protocols" value.
September 16th, 2011 9:45am

Hi, According to the problem description, this issue is related to IIS. For IIS issue, the best resource is IIS forum. Based on the current situation, you’d better submit a new question to IIS forum for further assistance. In this way, your issue can be resolved effectively. IIS http://forums.iis.net/ Thanks for your understanding! Regards, Please remember to click Mark as Answer on the post that helps you, and to click Unmark as Answer if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
Free Windows Admin Tool Kit Click here and download it now
September 16th, 2011 9:35pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics