Mohammad Azeem Ответов: 1

Типа не понимают веб-сервиса


Привет,

Я создал интерфейс веб-службы с таким методом, как,

[OperationContract]

       
        string Log(string COMMENTS, string product, Dictionary<string, List<string>> analysisComp);


Проблема здесь в том , что если я попытаюсь использовать этот веб-сервис и попытаюсь передать значения в переменную Dictionary <string, List<string>, то это даст мне следующую ошибку:

cannot convert from 'System.Collections.Generic.Dictionary<string, System.Collections.Generic.List<string>>' to ArrayOfKeyValueOfstringArrayOfstringty7Ep6D1KeyValueOfstringArrayOfstringty7Ep6D1[]	


Не могли бы вы посоветовать, если я не могу использовать этот тип данных словаря в своем методе веб-сервиса, что было бы лучшей альтернативой для него..

Спасибо,.

Что я уже пробовал:

Создайте веб-сервис, но тип данных словаря не принимается.

Alek Massey

Можете ли вы показать строку кода (в контексте), которая выдает ошибку?

Mohammad Azeem

Привет Алек,

Позвольте мне поделиться более подробной информацией:

Я создал два решения C# 1, где я размещаю веб-сервис, а другой потребляет его, для первого решения я пишу код, чтобы принять параметры следующим образом:

[OperationContract]


строки LogSS(приоритет строку, строку причина, строки, комментарии, словарь и Л;строка, список<строка&ГТ;&ГТ; analysisComp);
mp);
Находясь на стороне потребления, я добавил веб-ссылку с последующим отображением:


Затем я нажал кнопку Добавить веб-ссылку, чтобы добавить ссылку на размещенный сервис.

Код, который я пишу для доступа к веб-сервису, выглядит следующим образом:

приоритет строки = "3";
строка Reason = "причина";
строка COMMENTS = "комментарии";
Словарь<string, List<string>> analysisComp = новый словарь<string, List<string>>()
{
["CHEM"] = новый список<string> { "вода", "жидкость" },
["Basse"] = новый список<string> { "кислота", "кальций", "магний" }

};
string ID = потреблять.LogSS(приоритет, причина, комментарии, analysisComp);
Приставка.WriteLine(ID, true);

Приставка.Линия чтения();
При выполнении он выдает следующую ошибку:

Ошибка CS1503 аргумент 13: не удается преобразовать из 'System.Коллекции.Generic.Dictionary<string, System.Коллекции.Универсальный.Список<строка&ГТ;&ГТ;' на 'WebSeriveConsumeWCF.Обслуживание.ArrayOfKeyValueOfstringArrayOfstringty7ep6d1keyvalueofstringarrayofstringty7ep6d1[]' WebSeriveConsumeWCF
Пожалуйста, Посоветуйте Спасибо.

Примечание: без словаря <string>... параметр веб-сервис работает абсолютно нормально.

1 Ответов

Рейтинг:
2

#realJSOP

Попробуйте использовать это для инициализации вашего словаря.

Dictionary<string, List<string>> analysisComp = new Dictionary<string, List<string>>();
analysisComp.Add("CHEM", new List<string>() { "Water", "Liquid" });
analysisComp.Add("Basse", new List<string>() { "Acid", "Calcium", "Magnesium" });