熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

體驗.net 2.0 的優雅 - 異步WebService

2013-11-13 09:51:49  來源: .NET編程 

  中(准確的說是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客戶端


From:http://tw.wingwit.com/Article/program/net/201311/11782.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.