从aspx转换为ashx时代码技巧

       在使用Ajax技术时,被调用页面只需要返回相应字符/数据就可以了,所以我们可以使用ashx文件来代替aspx,在为了方便代码的转换,我们只需要在ProcessRequest中添加如下几句就可以了。

  Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
        '通用替换
 Dim Request As HttpRequest = context.Request
        Dim Response As HttpResponse = context.Response
        Dim Session As HttpSessionState = context.Session
        Dim server As HttpServerUtility = context.Server
     
        
        '----------------------------

        ‘你的代码

end sub

如果需要使用session,则需要引入:

Imports System.Web.SessionState

并在类定义中加入借口引用
Public Class RandomImage : Implements IHttpHandler, IRequiresSessionState

 

补充材料:

在一般事务处理页面,可以轻松的得到 Request,Response对象,从而进行相应的操作,如下:

HttpRequest Request = context.Request;

HttpResponse Response = context.Response;

但是要得到 Session的值就没有那么简单了。比如你要在ashx得到保存在Session中的登录帐号Session["userAccount"]

如果你只是context.Session["userAccount"]的话是会报 “未将对象引用设置到对象的实例”的异常

所以,如果要想取Session中的值 ,需要如下所示

1、引入 命名空间:

using System.Web.SessionState;

2、实现IRequiresSessionState接口,具体如下 

    /// <summary>
    /// $codebehindclassname$ 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class AddUserInfo : IHttpHandler,IRequiresSessionState//就是这样显示的实现一下,不用实现什么方法
    {

        public void ProcessRequest(HttpContext context)
        {

      //...

       //这样你就可以如下 操作了

                if(context.Session["userAccount"] != null)

      {

        string account = context.Session["userAccount"].ToString();

      }

      //...继续下面的代码

    }

  }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript(简称JS)是一种脚本语言,常用于网页上的交互效果和动态网页开发。JS具有单线程执行的特性,即一次只能执行一个任务。当任务执行间过长,会阻塞用户界面的响应。为了解决这个问题,JS引入了异步编程的概念。 ashx是一种后缀名为.ashx的文件,通常用于处理网页请求。ashx文件内部的代码可以与服务器进行交互,并返回处理结果。JS异步使用ashx文件的目的是为了在与服务器进行通信不阻塞用户界面。 使用JS异步调用ashx文件,可以发送AJAX请求。AJAX是一种在不刷新整个网页的前提下,通过在后台与服务器进行少量数据交换的技术。通过AJAX,可以向ashx文件发送请求并获得服务器处理的结果。 JS可以通过XMLHttpRequest对象或者fetch API来发送AJAX请求。具体而言,可以创建一个XMLHttpRequest对象,通过open()方法指定请求的URL,通过send()方法发送请求,通过回调函数处理返回的结果。在这个过程中,JS会异步发送请求给ashx文件,而不会阻塞用户界面的操作。 ashx文件在接收到请求后,可以通过处理参数,与数据库进行交互,进行一些数据处理操作,然后将结果返回给JS。JS再通过回调函数拿到返回的结果,并进行相应的操作。 总之,JS异步调用ashx是为了避免任务阻塞用户界面,通过AJAX方式将请求发送给ashx文件,并通过回调函数获取服务器处理的结果。这样,用户界面可以同进行其他操作,提高用户体验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值