c# - WCF ServiceActivationException 混淆

标签 c# .net wcf iis-6

我有一个 WCF 服务,它在我们的开发和测试环境中部署时工作得很好,但在生产环境中却失败了。

尝试浏览服务时,抛出以下异常(内部异常类型为 InvalidDataContractException):

[ServiceActivationException: 由于编译期间发生异常,无法激活服务 '/IL.Party.WS/Party.svc'。异常消息是:无法序列化类型“IL.Party.MS.Person”。考虑使用 DataContractAttribute 属性标记它,并使用 DataMemberAttribute 属性标记您想要序列化的所有成员..]

我不知道这里发生了什么。这三种环境都是 Windows Server 2003、IIS6 和 .NET 3.5。在服务失败的服务器上,我已经删除了临时文件。 ASP.NET 文件以强制重新编译。在所有三个环境中部署相同的代码。如果“IL.Party.MS.Person”不可序列化,我预计在所有三种环境中都会出现此错误。 Person 类型具有字符串、整数、日期时间和小数类型的字段 - 因此没有任何异常并且绝对可序列化。

有人知道是什么原因造成的吗?

最佳答案

Marc_s 实际上在评论中回答了这个问题。

但看起来原因是数据契约序列化程序发生了变化。

http://www.hanselman.com/blog/HiddenGemsNotTheSameOld35SP1Post.aspx

关于c# - WCF ServiceActivationException 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1543285/

相关文章:

c# - SqlBulkCopy 上传Excel

c# - 内存记录过多的 LINQ to SQL

c# - 将 XML 反序列化为不同元素上的相同类型的子元素

c# - Linq where in 子句

c# - URL 中的 ~ 是什么意思

javascript - 根据其值更改文本框宽度

c# - 如何将对象参数传递给 WCF 服务?

vb.net - 字符串中的反斜杠字符导致字符串在 WCF 中计算为 "nothing"

c# - 在 WCF 中找不到主要的静态主要方法

c# - 由一个事件处理多个控制单击事件