我们在将AuthenticateRequest用于自定义控件时遇到问题:
对于持久性信息,我们使用
HttpContext.Current.Application。
由于各种原因,如果多个用户同时工作,这将无法正常工作,因为应用程序密钥不是确定性的。
问题:持久性发生在AuthenticateRequest事件中,据我所知,在那里无法访问Session。我进行了一些搜索,找到了PostAuthenticateRequest-event及其有关区别的描述:http://leastprivilege.com/2006/07/02/authenticaterequest-vs-postauthenticaterequest/
可悲的是,我仍然无法访问Session,HttpApplication抛出错误:
{"Session state is not available in this context."}
并且HttpApplication.Context.Session不断获取NULL。
在这一点上是否有可能召开会议?还是我可以使用另一个可以达到相同目的的事件?
提前致谢。
马蒂亚斯
伊迪丝:我发现在MapRequestHandler(设置了标头)和PostMapRequestHandler(未设置标头)之间标头丢失了
最佳答案
您的问题是PostAuthenticateRequest发生在管道中的较早位置,即在AcquireRequestState被调用之前。为了访问会话状态,您需要执行该事件,并应在生命周期的后期查看事件。如果您不熟悉事件序列,请查看here ...
关于c# - AuthenticateRequest与PostAuthenticateRequest + session ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23684144/