Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HttpModule向输出添加值并在BeginRequest上检测它_C#_Asp.net_Httpmodule - Fatal编程技术网

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在浏览器实例之间共享。导致一个窗口中的操作覆盖在另一个窗口中设置的会话值。