Soap api方法不返回任何内容/状态;等待激活

问题描述 投票:0回答:1

我正在开发应与soap api通讯的小型应用程序。

这里是代码:

namespace Demo1._0
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                makeSoapCall();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }

        public static void makeSoapCall()
        {
            EnventoryWebserviceClient client = new EnventoryWebserviceClient();
            client.ClientCredentials.UserName.UserName = "[email protected]";
            client.ClientCredentials.UserName.Password = "somePass!";

            var method1 = client.contentReportAsync();
            var method2 = client.deleteSoapFlagsAsync();
            var method3 = client.getSoapFlagsAsync();
        }
    }
}

这里的问题是,我无法从该方法获得任何响应,客户端已成功连接,并且没有任何异常。

调试时,我会看到以下信息:enter image description here

我对编程还很陌生,这里有什么“问题”?我该如何解决?

提前感谢

P.S

我试图等待他们,但是我不知道如何在Main方法中调用此方法,因为我必须将makeSoapCall方法声明为async

欢呼声

c# .net-core async-await task-parallel-library soap-client
1个回答
0
投票

您正在SOAP api中调用异步方法。异步方法的行为不同于同步方法,这意味着异步方法默认情况下不会等待结果,直到它移到下一行为止。

// First Method
var method1 = await client.contentReportAsync();
var method2 = await client.deleteSoapFlagsAsync();
var method3 = await client.getSoapFlagsAsync();

// Second Method
var method1 = client.contentReportAsync();
var method2 = client.deleteSoapFlagsAsync();
var method3 = client.getSoapFlagsAsync();

Task[] tasks = { method1, method2, method3 };
await Task.WhenAll(tasks);

// To access the result in this way, use ".Result"
var result = method1.Result;
© www.soinside.com 2019 - 2024. All rights reserved.