Tag: ihttphandler

ASP.NET:如何从处理程序访问会话?

我想从一个处理程序页面的会话中存储一些值之前,我redirect到一个WebForms页面,将拿起会话值和预填充WebForm: public class Handler : IHttpHandler { public void ProcessRequest(HttpContext context) { … context.Session["StackOverflow"] = "overflowing"; context.Response.Redirect("~/AnotherPage.aspx"); … } … } 除了context.Session对象为空。 我如何从处理程序访问会话状态?

什么是ASP.NET中的HttpHandler

什么是ASP.NET中的HttpHandler? 为什么以及如何使用?

如何在ASP.Net中发送状态码500并仍写入响应?

我有一个ASP.Net单文件Web服务(一个包含IHttpHandler实现的.ashx文件),需要能够以500个内部服务器错误状态代码作为响应返回错误。 在PHP中这是一个相对简单的事情: header("HTTP/1.1 500 Internal Server Error"); header("Content-Type: text/plain"); echo "Unable to connect to database on $dbHost"; ASP.Net(C#)等价物应该是: Context.Response.StatusCode = (int)HttpStatusCode.InternalServerError; Context.Response.ContentType = "text/plain"; Context.Response.Write("Unable to connect to database on " + dbHost); 当然,这并不像预期的那样工作。 相反,IIS拦截了500个状态码,将我写到Response对象的任何东西都刷新,并根据应用程序的configuration发送debugging信息或自定义错误页面。 我的问题 – 我怎么能抑制这种IIS行为,并直接从我的IHttpHandler实施发送错误信息? 这个应用程序是从PHP端口; 客户端已经写了,所以我基本上坚持这个规范。 用200状态码发送错误很遗憾,不适合模具。 理想情况下,我需要以编程方式控制行为,因为这是我们想要分发的SDK的一部分,而不需要任何“ 编辑此文件 ”和“ 更改此IIS设置 ”的补充说明。 谢谢! 编辑 :sorting。 Context.Response.TrySkipIisCustomErrors = true是票据。 哇。

IHttpHandler.IsReusable有什么用途?

我正在写一个IHttpHandler ,我需要实现一个IsReusable属性。 当我看到MSDN文档时,它说: 获取一个值,指示是否有其他请求可以使用IHttpHandler实例。 这不是很有帮助。 在哪些情况下,我应该使用可重用的处理程序,在哪些情况下不应该重用? 后续问题: 什么是重用? 当Reusable = true时,我可以维护状态(即类variables)吗?

在http处理程序接口中,bool IsReusable的意义

当编写一个http处理程序/模块时,有一个接口成员来实现调用 – 布尔IsReusable 。 这个成员有什么意义? 如果我将其设置为false(或true),那么这对于其他Web应用程序意味着什么?