WCF 协议异常

Posted

技术标签:

【中文标题】WCF 协议异常【英文标题】:WCF Protocol Exception 【发布时间】:2011-02-21 18:22:11 【问题描述】:

我在使用 WCF 时遇到了真正的问题。在我的解决方案中调试任何 WCF 服务时,不知为何我开始出现以下错误:

ProtocolException 发生的内容 键入应用程序/soap+xml; charset=utf-8 被发送到服务 期待文本/xml;字符集=utf-8。 客户端和服务绑定可能是 不匹配。

在异常窗口详细信息上单击继续会导致另一个异常:

无法加载文件或程序集 'System.Xml.XmlSerializers, 版本=4.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089' 或 它的依赖项之一。系统 找不到指定的文件。

当这些异常发生时,Visual Studio 中的反汇编窗口也会出现。

在单击继续直到异常停止后,WCF 测试客户端启动但调用我的任何服务方法都会给我这个异常:

PlatformNotSupportedException 指定的加密算法是 此平台不支持。

我尝试将现有服务添加到新的空白解决方案中,并且错误停止了。但是,在运行我的服务几次后,错误又开始了。

我的解决方案中实际上有两个 WCF 服务(一个是 WCF 工作流服务,一个是公开数据访问方法(实体框架)的 WCF 服务、一个 Web 应用程序和一些其他支持类库。尝试运行 Web 应用程序或任何孤立的服务现在都会给我相同的协议例外。

任何帮助将不胜感激。我正在使用 Visual Studio 2010,目标是 .Net Framework 4.0。

谢谢

【问题讨论】:

【参考方案1】:

我也经历过

无法加载文件或程序集“System.Xml.XmlSerializers,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”或其依赖项之一。系统找不到指定的文件。

错误信息。我的程序集引用是正确的,确实很奇怪。为了摆脱这个错误,我发现以下工作(希望将来能在这里得到解释)。 :)

Visual Studio 顶部菜单:调试 > 异常 > 全部重置

参考this post by Peter G.

希望对你有帮助,

【讨论】:

这不是解决方案,这只会关闭所有异常报告。

以上是关于WCF 协议异常的主要内容,如果未能解决你的问题,请参考以下文章

WCF设计服务协议

WCF 命名管道 IO 异常 - 管道已结束。 (109, 0x6d)

WCF over net.tcp 与安全模式 none 给出异常

WCF传输协议

继续Wcf记录点滴

WCF标准绑定以及传输协议与编码格式