gpt4 book ai didi

WCF序列化列表对象为对象提供奇怪的名称

转载 作者:行者123 更新时间:2023-12-04 14:50:32 25 4
gpt4 key购买 nike

这是 WCF 服务中的方法签名:

APIMessageList<APISimpleContact> GetMembers(string apiKey, APIContactSearchFilter filter);
APIMessageList继承自 IList .一旦我为这个 WCF 服务构建了一个代理,类名就是 APIMessageListOfAPISimpleContactjHldnYZV。

为什么我收不到: APIMessageListOfAPISimpleContact ?

它将随机文本添加到接口(interface)中每个 APIMessageList 对象的末尾(有几个)它们都以相同的几个字符结尾 - jHldnYZV。我在网上查找了可能的原因,但我找不到任何有此问题的人的帖子。

这是一个纯粹的表面问题,但这个界面暴露给我们的外部客户,所以它的外观很重要。

有人知道我为什么会遇到这个问题吗?

非常感谢

最佳答案

您的解决方案将在 http://msdn.microsoft.com/en-us/library/ms731045.aspx .基本上,由于您可以有多个“SimpleContract”类(在不同的命名空间中),WCF 将在契约(Contract)名称的末尾添加一个消歧散列,这就是您在契约(Contract)名称末尾的 8 个字符中所拥有的内容。但是您可以通过使用 CollectionDataContract 及其 Name 属性来控制它:

[CollectionDataContract(Name = "APIMessageListOfSimpleContract")]
public class APIMessageList : IList<SimpleContract> { ... }

关于WCF序列化列表对象为对象提供奇怪的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6928069/

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