wcf中的字典

本文关键字:字典 wcf | 更新日期: 2023-09-27 18:18:31

我有一个WCF服务,它包含一个返回Dictionary的方法。

代理类中生成的方法返回ArrayOfKeyValueOfstringstringKeyValueOfstringstring数组。如何使用这个方法?

合同方法:

        [OperationContract]
        Dictionary<string, string> GetESGKeywordQuestion();
In the proxy class i have 
ArrayOfKeyValueOfstringstringKeyValueOfstringstring[] GetESGKeywordQuestion()
{
// code
}

wcf中的字典

在另一个类似的线程引用中接受的答案是一个链接,告诉您如何在客户端拥有Dictionary在。net到。net通信。换句话说,如果您希望您的服务被PHP或Java等非。net应用程序使用,则互操作性很差。如果你学过/记得CS中的数据结构,你就知道字典是通过像B-tree这样的非线性结构实现的,所以字典不太可能包含在WSDL中,因为它的复杂性和变异性。为客户端生成的ArrayOfKeyValueOfstringstringKeyValueOfstringstring结构是精心设计的。如果您希望看到双方的一致性并希望互操作性,那么不要使用Dictionary,而是使用线性结构,例如KeyValuePair数组。

生成的代理类似乎是错误的…

尝试更改它以手动返回所需的Dictionary ..

Dictionary<string, string> GetESGKeywordQuestion()
{
    //code
}

这应该允许你使用你的GetESGKeywordQuestion()方法从你的WCF服务