生成服务引用不正确

时间:2015-01-29 09:53:36

标签: c# wcf servicecontract

我的课程Request来自Dictionary<string, string>。它有其他字段。 然后我有服务合同:string MakeRequest(Request request); 之后,我为此合同生成服务参考。但VS出于某种原因生成下一个代码:

string MakeRequest(System.Collections.Generic.Dictionary<string, string> request);

我的问题是如何告诉VS我想要派生类而不是基础。

1 个答案:

答案 0 :(得分:1)

我怀疑这是可能的。 Dictionary支持似乎是固有的。 Dictionary不是SOAP理解的类型,因此无法按字面顺序化。例如,它没有[DataContract]属性。派生类型(可能带有自定义字段)无法序列化。

无论如何,从Dictionary派生是一个坏主意。您可能应该从IDictionary派生并将Dictionary暴露为属性:

class MyDict { public Dictionary<...> Items; }