1

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

msdn HTTP上下文

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

如果我在这里遗漏了一个关键概念,请原谅我,这是相当新的。谢谢

4

1 回答 1

1

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

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

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

于 2013-02-25T19:32:59.317 回答