Синхронность вызовов веб-сервисов - PullRequest
1 голос
/ 29 июля 2010

Являются ли вызовы веб-службы синхронными или асинхронными по умолчанию?Как определяется синхронность, службой или клиентом?

У меня есть код, подобный следующему:

try
{
    string result = MakeWebServiceCall_1(); // this is a third party webservice
    MakeWebServiceCall_2(result); // another webservice which must happen *after* the first one is complete
}
catch()
{
    SetStatus(Status.Error); // this calls my own stored procedure
    throw;
}
SetStatus(Status.Sucess);

В приведенном выше примере SetStatus записывает в те же таблицы, которые читают сторонние веб-службы.Если я изменю статус до того, как будут завершены оба вызова веб-службы, это приведет к большому беспорядку, и меня уволят.Как узнать / убедиться, что вызовы веб-службы синхронны?

1 Ответ

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

Согласно MSDN, когда вы добавляете ссылку на веб-службу, она реализует методы для вызова веб-службы как синхронно, так и асинхронно в прокси-классе.Вам просто нужно убедиться, что вы звоните правильно.

После того, как вы нашли веб-службу XML для доступа к своему приложению с помощью диалогового окна «Добавить веб-ссылку», при нажатии кнопки «Добавить ссылку» появится инструкция.Visual Studio для загрузки описания службы на локальный компьютер, а затем создания прокси-класса для выбранной веб-службы XML.Прокси-класс будет содержать методы для вызова каждого открытого метода веб-службы XML как синхронно , так и асинхронно . Источник

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