Веб-функции Azure Использование службы SOAP - как сделать ошибку async / WinHttpHandler - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь использовать мыльный веб-сервис из проекта веб-функций Azure.Я с трудом кодирую звонок в мыльную службу.Я успешно добавил ссылку на веб-сервис WCF.Файл reference.cs создан, и служба SOAP работает асинхронно.

Код написан на C # DOT.NET core 2.0 и подключается к базе данных, размещенной в среде Azure.

Полагаю, мне следует использовать многопоточность и вызывать асинхронную функцию.Когда я пытаюсь ссылаться на код в отдельном файле класса, я получаю ошибки, связанные с использованием статического ключевого слова.

public class ExpireData
{
    private readonly string _Endpoint;

    public ExpireData(IConfiguration config)
    {
        _Endpoint = config["ServiceURL"];
    }
    [FunctionName("ExpireData")]
    public void Run([TimerTrigger("0 * * * * *")]TimerInfo myTimer, ILogger log)
    {

        BasicHttpBinding binding = new BasicHttpBinding();
        EndpointAddress address = new EndpointAddress(_Endpoint);
        ServiceSoapClient client = new ServiceSoapClient(binding, address);

        var result = client.ExpireDataAsync();    
    }

Значение, сохраненное в результате: Id = 1018, Status = WaitingForActivation, Method = "{null}", Result = "{Пока не вычислено}"

1 Ответ

0 голосов
/ 01 июля 2019

Как предположил Томас:

Измените подпись вашей функции на общедоступный асинхронный запуск задачи (...)

Затем измените последнюю строку вашего кода на var result = await client.ExpireDataAsync ();

...