WCF分布式开发常见错误(28)2011-06-18 博客园 frank_xlWCF分布式开发常见错误(28):The requested upgrade is not supported by...今天在调试WCF4.0 Routing 路由服务例子代码的时候,启动客户端测试WCF路由服务,遇到这个错误。因为网上资料很少,目前搜索不到任何中文资料。英文资料也十分少,google.com搜索的连接也被屏蔽了,不能访问。所以把这个问题的解决办法发出来,共大家参考,希望对后来遇到类似错误的人一个参考。【1】调试环境:1)操作系统:Windows XP 专业版2)IDE环境:Visual Studio 2010 Beta23)Framework: .NET Framework 4.0【2】错误信息:Error : The requested upgrade is not supported by "net.tcp://localhost:9002/WCFServiceB". This could be due to mismatched bindings (for example security enabled on the client and not on the server).错误:服 "net.tcp://localhost:9002/WCFServiceB"不支持请求升级。这可能是由于绑定不匹配导致的错误(例如客户端启用安全,而服务器没有。)。【3】错误截图:运行时客户端抛出的英文异常信息如下图所示:

【4】问题分析:这个错误的原因,在异常信息里有部分提示:可能绑定不匹配导致的错误。1)客户端和服务端安全模式不同,例如客户端启用安全,而服务端没有启用安全;2)客户端和服务端编码模式不同;导致无法匹配错误信息。3)客户端和服务端SOAP版本不同。也可能导致问题。4)客户端和服务端事务设置不同等等。都可能导致这个错误。我们先来检查服务端和客户端的配置,发现服务端没启用安全,而路由服务在对于客户端绑定的配置使用的是默认的设置,也就是启用了传输安全模式。