如何在 ASP.NET 中设置异步 Web 服务?
我想调用网络服务将一些数据发布到数据库,但我不关心响应是失败还是成功。
我只能使用.net 2.0或3.5,它可以是vb或c#。
当您在 Visual Studio 中创建服务引用时,单击“高级...”按钮并选中“生成异步操作”。然后您可以选择对 Web 服务进行异步调用。
以下是对公共 Web 服务的同步和相同异步调用的示例。
// http://wsf.cdyne.com/WeatherWS/Weather.asmx?wsdl
using(var wf = new WeatherForecasts.WeatherSoapClient())
{
// example synchronous call
wf.GetCityForecastByZIP("20850");
// example asynchronous call
wf.BeginGetCityForecastByZIP("20850", result => wf.EndGetCityForecastByZIP(result), null);
}
打电话可能很诱人BeginXxx
并且不对结果做任何事情,因为您不关心它。但实际上你会泄漏资源。重要的是每一个BeginXxx
调用与相应的匹配EndXxx
call.
即使你有一个回调函数调用EndXxx
,这是在线程池线程和调用的原始线程上触发的BeginXxx
可以免费完成,只要BeginXxx
呼叫完成(不等待响应)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)