Передача веб-сервису неизвестного количества параметров - PullRequest
0 голосов
/ 28 апреля 2010

Я относительно новичок в использовании веб-сервисов. Я пытаюсь создать такой, который будет принимать данные из формы ASP.Net, чьи элементы управления вводом создаются динамически во время выполнения, и я не знаю, сколько значений элементов управления будет передано.

Я думаю, что я буду использовать serialize () jQuery в форме для получения данных, но что мне сделать, чтобы веб-сервис принял параметр? Я подумал, может быть, я мог бы использовать serializeArray (), но все же я не знаю, какой тип переменной принять для массива JavaScript.

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

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

Ответы [ 2 ]

0 голосов
/ 15 мая 2010

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

0 голосов
/ 28 апреля 2010

Ответ на заголовочный вопрос (при условии, что это веб-служба ASP.Net) заключается в использовании ключевого слова params в методе веб-службы:

[WebMethod]
public void SendSomething(params string[] somethings)
{
    foreach (string s in somethings)
    {
        // do whatever you're gonna do
    }
}

Примеры:

SendSomething("whatever");
SendSomething("whatever 1", "whatever 2", "whatever 3");

На самом деле вам даже не нужно ключевое слово params - использование обычного массива в качестве параметра позволит вам передать неизвестное число значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...