Как вызвать асинхронный веб-сервис в C #? - PullRequest
0 голосов
/ 26 сентября 2019

Ниже приведен способ вызова веб-службы для проецирования:

  public JsonResult CruiseBE_Data1(string cruise)
    {
        CruiseService GetPorts = new CruiseService();
        projectCruise.CruiseServiceASD.ServiceAuthHeader serviceAuthHeaderValue_Cruise = new projectCruise.CruiseServiceASD.ServiceAuthHeader();
        serviceAuthHeaderValue_Cruise.username = "xxxxxxxxxx";
        serviceAuthHeaderValue_Cruise.password = "xxxxxxxxxx";
        GetPorts.ServiceAuthHeaderValue = serviceAuthHeaderValue_Cruise;

        string CruisePorts = "";

        CruisePorts = GetPorts.GetPorts();


        return Json(CruisePorts);
    }

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

1 Ответ

1 голос
/ 26 сентября 2019

Самый простой способ - обернуть ваш GetPorts.GetPorts() вызов в Task.Run():

CruisePorts = await Task.Run(() => GetPorts.GetPorts());

Но позаботьтесь, чтобы ваш метод тогда был определен как

public async Task<JsonResult> CruiseBE_Data1(string cruise)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...