我正在开发应与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();
}
}
}
这里的问题是,我无法从该方法获得任何响应,客户端已成功连接,并且没有任何异常。
我对编程还很陌生,这里有什么“问题”?我该如何解决?
提前感谢
P.S
我试图等待他们,但是我不知道如何在Main
方法中调用此方法,因为我必须将makeSoapCall
方法声明为async
欢呼声
您正在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;