2014-08-22 关于Response、Request等对象在cs文件中的使用

本文详细解释了在ASP.NET环境下如何利用Context对象动态封装方法调用处的上下文,着重介绍了如何通过HttpContext获取当前请求页的上下文对象集合,并提供了常见对象如Response、Request等的使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  今天是在吾索实习的第33天。已经有一段时间没写过博客了,今天突然想起个值得分享的东西,所以又华丽地回归了。

  废话不多说了,直奔主题。我们会发现,在我们在cs文件中,直接使用Response、Request等对象,系统会报错——“响应在此上下文中不可用”。这里有一个“上下文”的概念,英文译为“Context”,下面的“HttpContext”则是“Http上下文”的意思。这里之所以会报错,据MSDN介绍,由于HTTP的无状态特性,Web应用程序需要跟踪上下文片段。比如在XXX.aspx.cs文件中可以用“Request.Url”获取当前请求的URL信息,而如果把Request.Url这个方法直接定义在App_Code文件夹中的某个cs文件里,然后在外面直接调用,程序就不知道你要的是哪个页的Response,即没有参考环境,因为App_Code文件夹的cs文件是不直接提供给浏览器访问的。微软提供的Context实用对象实现了方法调用处上下文的动态封装。即我们在外面定义的含有Response对象的方法,这个方法在那个页面(通常为aspx页面)被调用,就能准确获取到当前请求页的上下文对象集合,相当好用。

  然后我们把代码改成这样:

  

1 public class clsDEMO 
2 {
3       public Demo()      
4       {         
5              HttpContext.Current.Response.Write("Some text!"); 
6       } 
7 } 

  现在一切正常了,这里的HttpContext是System.Web名字空间下的。通过HttpContext.Current我们还可以点出下面常见的对象或类:

    HttpContext.Current.Response  

    HttpContext.Current.Request

     HttpContext.Current.Server  

    HttpContext.Current.Request.Cookies

  另外还包含以下对象:Application、ApplicationInstance、Cache、Error、Items、Trace、User,具体使用方法可以自己去参考MSDN并试验。

  

转载于:https://www.cnblogs.com/IamYoung/p/3930229.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值