所以,我正在使用WCF服务,其中一位同事创建了这样的函数:
<OperationContract()>
Function GetRelationshipsGroupedByClass(ByVal objId As Integer, ByVal showDeleted As Boolean) As Dictionary(Of String, List(Of Relationship))
当我在asp.net应用程序中创建服务引用时,返回类型不再是字典而是
ArrayOfKeyValueOfstringArrayOfRelationshipQknDUPatKeyValueOfstringArrayOfRelationshipQknDUPat
有没有办法给WCF一个自定义名称来调用这个而不是这个疯狂的名字?或者我将不得不重写所有使用通用词典的函数来输出自定义数据合同?
答案 0 :(得分:1)
因为字典是not inherently serializable into XML ,WCF会将其转换为数组 - 您在服务引用中看到的数组。您可以选择创建自己的可序列化字典 - here's one,或者按照建议使用自定义数据合同。