C# HttpModule向输出添加值并在BeginRequest上检测它
我想构建一个模块,在结束请求事件期间向输出添加一个值,然后在开始请求事件中查找它。这不是我以前解决过的问题,我很难找到描述如何解决的资源 基本上,当用户可能多次打开站点时,我试图唯一地识别请求来自哪个选项卡/窗口。我的一般流程应该如下所示:C# HttpModule向输出添加值并在BeginRequest上检测它,c#,asp.net,httpmodule,C#,Asp.net,Httpmodule,我想构建一个模块,在结束请求事件期间向输出添加一个值,然后在开始请求事件中查找它。这不是我以前解决过的问题,我很难找到描述如何解决的资源 基本上,当用户可能多次打开站点时,我试图唯一地识别请求来自哪个选项卡/窗口。我的一般流程应该如下所示: BeginRequest() { If(request contains valid key) { Use this key } else { Generate new key } } … A
BeginRequest()
{
If(request contains valid key)
{
Use this key
} else {
Generate new key
}
}
…
App does something based on the key associated with current request
…
EndRequest()
{
Inject current key into output where Begin Request can find it
}
我的解决方案需要支持将密钥从一个页面传递到下一个页面,而不仅仅是在同一页面中进行回发。我意识到这可能需要一个多部分解决方案,或者对涉及的页面进行一些修改,但我希望尽量减少使用此模块的应用程序中需要的特殊代码量。也许我没有抓住要点,但这与常规会话ID有何不同?在一些较新的浏览器中,会话cookie在浏览器实例之间共享。导致一个窗口中的操作覆盖在另一个窗口中设置的会话值。