ASP.NET 2.0 Ajax程序:保持用户上下文

异步”执行意味着原本从头到尾执行的函数被拦腰截断,分成了两个不同的函数。而这两个函数之间的联系往往又非常紧密,例如有些时候我们需要在后一个函数(即回调函数)中访问前一个函数中计算出来的变量,或是在后一个函数中得到前一个函数执行时的上下文等信息。特别地,若是几个不同的异步函数均提供了同一个回调函数进行处理,我们一般还要在回调函数中知道是哪个函数引发的这次回调。为了满足这些需求,异步调用中自然产生了用户上下文(user context)的概念。

  ASP.NET AJAX异步 通信 层所提供的异步调用模型中同样提供了对传递用户上下文信息的支持。我们还是使用一个简单的示例程序演示其具体的实现。

  程序的功能并不复杂:两个按钮都将异步调用服务器端的同一个Web Service并指定同一个回调函数,取得服务器端当前时间之后显示出来,同时显示出来的还有用户点击了哪个按钮的信息。如图3-7和图3-8所示,注意其中用户上下文的不同。

  ASP.NET 2.0 Ajax程序:保持用户上下文 - cruelchen - 好好做人

  图3-7 点击第一个按钮取得服务器端当前时间

  ASP.NET 2.0 Ajax程序:保持用户上下文 - cruelchen - 好好做人

  图3-8 点击第二个按钮取得服务器端当前时间

  Web Service的声明如下,返回当前服务器端时间而已:

  [WebService(Namespace = "http://tempuri.org/")]

  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

  [ScriptService]

  public class UserContextService : System.Web.Services.WebService

  {

    [WebMethod]

    public string GetServerDateTime()

    {

      return DateTime.Now.ToString();

    }

  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值