Как передать универсальный KeyValuePair <Tkey, TValue> в WebMethod? - PullRequest
4 голосов
/ 12 июля 2010
 [WebMethod]
public void Test(KeyValuePair<string,string> details)
{        
}

Я определил вышеуказанный веб-метод.

KeyValuePair определяется в http://schemas.datacontract.org/2004/07/System.Collections.Generic

как я могу добавить его в мой автоматически сгенерированный файл wsdl? я должен определить этот тип, потому что в противном случае я получаю пустое определение в файле wsdl:

<s:complexType name="KeyValuePairOfStringString" />

Ответы [ 2 ]

2 голосов
/ 12 июля 2010

Для этой конкретной проблемы я бы рекомендовал изменить сигнатуру на

public void Test(string key, string value) 

, поскольку у меня никогда не было веб-сервисов, которые бы хорошо работали с генериками.Если у вас есть другие методы с похожими проблемами, вы можете использовать автоматически сгенерированные прокси-классы или передать вещи как объекты и привести их обратно в веб-метод.

1 голос
/ 29 октября 2010

У меня тоже есть эта проблема.Похоже, мне сейчас придется создать определенный класс (ы).

...