Azure Web Functions 使用 SOAP 服务 - 如何产生异步/WinHttpHandler 错误
Azure Web Functions Consuming SOAP service - how to make async / WinHttpHandler error
我正在尝试使用 Azure Web 函数项目中的 Soap Web 服务。我很难对 soap 服务的调用进行编码。我已成功添加 WCF Web 服务引用。 reference.cs 文件已生成,SOAP 服务是异步的。
代码是用 C# DOT.NET 核心 2.0 编写的,连接到 Azure 环境中托管的数据库。
我相信我应该使用线程并调用异步函数。当我尝试在单独的 class 文件中引用代码时,出现与使用 static 关键字相关的错误。
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,状态 = WaitingForActivation,方法 =“{null}”,结果 =“{尚未计算}”
正如 Thomas 所建议的:
将您的函数签名更改为 public async Task 运行(...)
然后将代码的最后一行更改为 var result = await client.ExpireDataAsync();
我正在尝试使用 Azure Web 函数项目中的 Soap Web 服务。我很难对 soap 服务的调用进行编码。我已成功添加 WCF Web 服务引用。 reference.cs 文件已生成,SOAP 服务是异步的。
代码是用 C# DOT.NET 核心 2.0 编写的,连接到 Azure 环境中托管的数据库。
我相信我应该使用线程并调用异步函数。当我尝试在单独的 class 文件中引用代码时,出现与使用 static 关键字相关的错误。
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,状态 = WaitingForActivation,方法 =“{null}”,结果 =“{尚未计算}”
正如 Thomas 所建议的:
将您的函数签名更改为 public async Task 运行(...)
然后将代码的最后一行更改为 var result = await client.ExpireDataAsync();