c#

位置:IT落伍者 >> c# >> 浏览文章

体验.net 2.0 的优雅 - 异步WebService


发布日期:2020年09月11日
 
体验.net 2.0 的优雅 - 异步WebService

中(准确的说是vs 中)异步WebService异步调用的方式的例子

void DoSomethingTest()

{

localhostService service = new WindowsApplocalhostService();

serviceHelloWorldCompleted += new WindowsApplocalhostHelloWorldCompletedEventHandler(service_HelloWorldCompleted);

// do Asyn calling here

serviceHelloWorldAsync();

}

void service_HelloWorldCompleted(object sender WindowsApplocalhostHelloWorldCompletedEventArgs e)

{

if (eError == null)

{

MessageBoxShow(eResult);

}

else

{

MessageBoxShow(eErrorMessage);

}

}

服务器端代码

[WebService(Namespace = )]

[WebServiceBinding(ConformsTo = WsiProfilesBasicProfile_)]

public class Service : SystemWebServicesWebService

{ public Service () {

}

[WebMethod] public string HelloWorld() {

return Hello World;

}

}

很简单没有了AsyncCallbackIAsyncResult 这两个烦人的东西调用的代码变得简洁优雅了而且可以从eResult得到强类型的返回值(上例为Hello World但是有兴趣的话可以看看vs 生成的Referancecs文件那可比中的复杂很多其中可以看到SystemComponentModelAsyncCompletedEventArgs SystemThreadingSendOrPostCallback(delegate)这两个在 x 中没有的怪物估计用到的地方还不止WebService客户端

               

上一篇:多线程基于.NET应用程序迅速响应

下一篇:浅谈.NET中不一样的多态