Ihttphandler接口如何公开httpcontext对象

时间:2013-02-25 19:24:49

标签: httpcontext ihttphandler

您好我在msnd上看到从Ihttphandler接口继承的任何内容都可以访问httpcontext对象(在下面链接页面的备注部分下)

msdn HTTPContext

我的问题是接口是如何公开这个对象的...我没有在界面中看到httpcontext类型的任何属性。我确实看到了一个httpcontext对象的“ProcessRequest”方法。但我没有看到这是如何导致httpcontext对象直接从接口暴露出来的,如msnd页面所示。​​

如果我在这里错过了一个关键概念,请原谅我。感谢

1 个答案:

答案 0 :(得分:1)

不,它仅传递给ProcessContext方法。然后,处理程序与该HttpContext实例交互,因为它是请求的上下文。您可以将上下文实例传递给各种其他方法,例如您想要的。

如果查看有关IsReusable属性的文档,为什么这样做会变得更加清晰。当该属性为true时,同一个处理程序实例可以提供多个请求,因此必须为它们提供单独的HttpContext才能工作。

现在,如果将IsReusable指定为false,则可以将ProcessRequest中的HttpContext实例存储在实例的属性中。在某些情况下,不共享处理程序可能会导致性能问题,但您可能不必担心这一点。