我正在尝试自定义通过HttpHandler路由所有请求的出售产品。处理程序分析请求以确定将用户路由到哪个页面并执行Server.Transfer()。不幸的是,我需要访问页面上的SessionState,并且处理程序没有实现IRequiresSessionState并被标记为内部,因此我无法继承它。经过大量的搜索引擎优化后,我发现最好的解决方案是创建一个HttpModule,它改变请求生命周期中不同点处理请求的处理程序。在PostMapRequestHandler上,我会将处理请求的处理程序更改为我自己的实现IRequiresSessionState和PostAcquireRequestState的处理程序,并将其映射回来。强制HttpHandler使用SessionState
这工作,但没有人有更好的解决方案?
您链接到的'HttpModule'代码对我来说看起来相当不错。 – LukeH