gpt4 book ai didi

c# - WCF 服务不接受枚举的新成员

转载 作者:太空宇宙 更新时间:2023-11-03 17:05:51 25 4
gpt4 key购买 nike

我有一个看起来像这样的 wcf 服务:

[DataContract]
enum MyEnum
{
[EnumMember]Member1,
[EnumMember]Member2,
[EnumMember]Member3
}


[ServiceContract]
interface IMyService
{
[OperationContract]
string SolveBotguard(
SolutionType myEnum);
}

该服务运行良好,我创建了一个工作客户端,它公开了一个 mex 端点。

现在我向枚举中添加了一个新成员:

[DataContract]
enum MyEnum
{
[EnumMember]Member1,
[EnumMember]Member2,
[EnumMember]Member4,
[EnumMember]Member3
}

再次,通过 MEX 端点更新客户端。但是现在,当我尝试使用新的枚举成员作为参数调用服务时,出现以下错误:

The formatter threw an exception while trying to deserialize the message: There 
was an error while trying to deserialize parameter http://tempuri.org/:myEnum.
The InnerException message was 'Invalid enum value 'Member4' cannot be
deserialized into type 'MyEnum'. Ensure that the necessary enum values are
present and are marked with EnumMemberAttribute attribute if the type has
DataContractAttribute attribute.'. Please see InnerException for more details.

我试过删除客户端和服务文件并从源代码重新构建它们,但没有任何效果。

如何摆脱这个异常?

最佳答案

回答这个问题可能为时已晚,但请尝试重建您的客户端(选择菜单选项)应用程序。

关于c# - WCF 服务不接受枚举的新成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16752334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com