【问题标题】:WCF - Common library enum issue - C#WCF - 常见库枚举问题 - C#
【发布时间】:2009-12-11 19:26:47
【问题描述】:

我有一个公共库,其中包含通过 DLL 在 WCF 服务和客户端之间共享的枚举。是的,我知道这样做的更好方法是从我的公共库中创建一个服务 - 以备后用。

我对我的公共库进行了更改,向枚举添加了另一个字段。编译后,我更新了 WCF 服务和我的 Web 客户端中的 DLL。

最初,我收到了错误:

确保必要的枚举值 存在并标有 EnumMemberAttribute 属性,如果 类型具有 DataContractAttribute 属性。

通过从客户端上的服务引用配置中删除检查“在引用的程序集中重用类型”,这一问题得到了快速纠正。

现在,我收到一个关于我添加的新枚举值的错误:

无效的枚举值 'TestDataReceived_OK_NoDataWritten' 不能反序列化成类型...

所以这让我相信那里有两个库版本,但我不确定如何解决这个问题。

我没有在我的服务界面中设置任何类型的 [DataContract] 区域。如果需要,一些代码示例会很有用。

谢谢。

【问题讨论】:

  • 您是否重新生成了客户端服务参考?
  • 建议避免在 web 服务中使用枚举,因为它们会产生向后兼容的问题。你的问题就是一个很好的例子。见stackoverflow.com/a/788281/52277

标签: c# wcf enums common-library


【解决方案1】:

回来看到这个,我确实通过正确配置配置文件解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多