gua*_*ome 6 c# vb.net asp.net web-services
如何在asp.net中设置异步Web服务?
我想调用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);
}
Run Code Online (Sandbox Code Playgroud)
BeginXxx因为你不关心它,所以只是打电话而不对结果做任何事情可能很诱人.你实际上会泄漏资源.重要的是每个BeginXxx呼叫都与相应的EndXxx呼叫相匹配.
即使你有一个调用的回调EndXxx,这是在一个线程池线程上触发的,BeginXxx一旦BeginXxx调用完成,调用的原始线程就可以自由完成(它不会等待响应).