文谷首页 | 业界传真 | 网络技术 | 服务器 | 数据库 | 存储技术 | 系统安全 | 无线技术 | Cisco | .Net | Windows | Linux | Unix | Java
电子商务 | 网站工程 | 网页设计 | 平面设计 | 多媒体 | 编程语言 | Oracle | MSSQL | Photoshop | ASP | PHP | 实用技巧 | 进程查询 | 文谷论坛
.NET频道
 资讯动态   ASP.NET   C#   ADO.NET   VC.NET   VB.NET   .NET Framework   WebService
您现在的位置: IT文谷 >> 开发平台 >> .net framework >> WebService >> 文章正文
异步WebService调用异步WebService调用2006-7-15 16:09:26异步WebService调用2006-7-15 16:09:26异步WebService调用
异步WebService调用
异步WebService调用异步WebService调用2006-7-15 16:09:26异步WebService调用2006-7-15 16:09:26异步WebService调用
异步WebService调用异步WebService调用2006-7-15 16:09:26异步WebService调用2006-7-15 16:09:26异步WebService调用

  在.net1.x中,异步webservice异步调用的一般方式为调用方法xx对应
的BeginXX方法来完成,其过程类似于异步委托的使用。详情请点此了解。

    在.net2.0中(准确的说是vs 2005中),异步WebService异步调用的方式的例子:

void DoSomethingTest()
        {
            localhost.Service service = new WindowsApp.localhost.Service();
 
            service.HelloWorldCompleted += new WindowsApp.localhost.HelloWorldCompletedEventHandler(service_HelloWorldCompleted);
            // do Asyn calling here
            service.HelloWorldAsync();
        }
 
        void service_HelloWorldCompleted(object sender, WindowsApp.localhost.HelloWorldCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                MessageBox.Show(e.Result);
            }
            else
            {
                MessageBox.Show(e.Error.Message);
            }
        }
服务器端代码


[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
    public Service () {
    }

    [WebMethod]
    public string HelloWorld() {
        return "Hello World";
    }
 }


        很简单,没有了AsyncCallback、IAsyncResult 这两个烦人的东西,调用的代码变得简洁、优雅了,而且可以从e.Result得到强类型的返回值(上例为"Hello World")。但是,有兴趣的话,可以看看vs 2005生成的Referance.cs文件,那可比2003中的复杂很多。其中可以看到System.ComponentModel.AsyncCompletedEventArgs 、 System.Threading.SendOrPostCallback(delegate)这两个在 .net 1.x 中没有的“怪物”,估计用到的地方还不止WebService客户端。有时间再研究看看。

 

异步WebService调用异步WebService调用2006-7-15 16:09:26异步WebService调用2006-7-15 16:09:26异步WebService调用
  • 上一篇文章:

  • 下一篇文章:
  • 进入论坛讨论

    相关文章
    32bit 和 64bit 的问题
    关于内存参数的调整
    Lock_sga = true 的问题
    9i下参数的变化
    SGA内参数设置
    SGA的大小
    内存管理简介
    Oracle的SGA调整经历
    oracle数据库的性能调整
    关于SGA设置的一点总结
    由于SGA大小在os上的限制导致数据库无法启动实例
    Oracle 10g RAC与SLES9
    热门文章最新推荐

    版权与免责声明:
    ① 本网转载其他媒体稿件是为传播更多的信息,此类稿件不代表本网观点,版权归原作者所有,本网不承担此类稿件侵权行为的连带责任。
    ② 本站原创文章,转载时请注明出自文谷及作者姓名
    ③在本网BBS上发表言论者,文责自负。
    ④如您因版权等问题需要与本网联络,请在30日内联系 。
    异步WebService调用异步WebService调用2006-7-15 16:09:26异步WebService调用2006-7-15 16:09:26异步WebService调用
    异步WebService调用异步WebService调用2006-7-15 16:09:26异步WebService调用2006-7-15 16:09:26异步WebService调用

    全站热点
    最新推荐
    关于文谷 | 联系文谷 | 免责声明 | 文谷论坛
    Tel: 0577-65690019      E-mail: ichenjian@gmail.com    MSN:ichenjian@hotmail.com    QQ:2911194
    Copyright © 2004-2008 wengu.com 文谷 All Rights Reserved
    浙ICP备05000327号