c# – Asp.net中的异步Web服务

前端之家收集整理的这篇文章主要介绍了c# – Asp.net中的异步Web服务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在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);
}

调用BeginXxx并不对结果做任何事情可能很诱人,因为你不关心它.你实际上会泄漏资源.重要的是每个BeginXxx呼叫都与相应的EndXxx呼叫匹配.

即使你有一个调用EndXxx的回调,这是在线程池线程上触发的,并且一旦BeginXxx调用完成,它就可以自由完成调用BeginXxx的原始线程(它不等待响应).

猜你在找的C#相关文章