问题描述
在我的 asmx Web 服务中,我必须从另一个 Web 服务调用方法。由于 asmx webService 不处理 async/await,我的代码如下所示:
public string switchRelay(int TermId)
{
string result = "-1";
string request = "...";
client.DefaultRequestHeaders.Add("SOAPAction","...");
var content = new StringContent(request,Encoding.UTF8,"text/xml");
using (var response = client.PostAsync(ConfigurationManager.AppSettings["Url"],content))
{
response.Wait();
var soapResponse = response.Result.Content.ReadAsstringAsync();
soapResponse.Wait();
var soap = XDocument.Parse(soapResponse.Result,LoadOptions.PreserveWhitespace);
soapResponse.dispose();
result = soap.Descendants().ToList()[3].Value;
}
return result;
}
我的问题是,我应该在哪里创建 HttpClient 的实例。现在我将它创建为全局服务变量,但这会随着每个请求运行,所以它每次都会创建新的 httpClient(我试图将它用作单例,但它看起来在 asmx WebService 中是不可能的)。可以在 WebMethod 中新建 HttpClient 实例吗?
感谢您的任何建议。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)