我已经编写了一个 HttpModule,它添加了一个响应过滤器。过滤器正在捕获页面输出并将其存储在 session 变量中。
使用 InProc SessionState 时一切正常。但是,我现在必须使用 StateServer。使用 StateServer,代码现在已损坏。
有任何想法吗?
最佳答案
您是否尝试过将 session 对象从 HttpModule 传递给过滤器构造函数并以这种方式保存引用?
通常我永远不会依赖在我的过滤器中访问 HttpContext.Current,而是通过构造函数传递必要的值或在将其分配给 Response.Filter 之前设置一些属性。它解耦事物并使其更易于维护。
关于asp.net - 为什么 HttpContext.Current.Session 在 HttpModule 中可用,而在 Response.Filter 中不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2556501/