加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何将某些自定义数据与当前的HttpRequest相关联?

发布时间:2020-12-15 08:02:22 所属栏目:百科 来源:网络整理
导读:我需要以某种方式将我的自定义数据附加到由我的IIS自定义模块处理的HttpRequest – 以便在IIS管道的早期阶段运行的代码附加一个对象,并且在后续阶段运行的代码可以检索对象并使用它而不是其他通过添加该对象来更改IIS管道处理的功能. 数据只需要在一个HTTP请
我需要以某种方式将我的自定义数据附加到由我的IIS自定义模块处理的HttpRequest – 以便在IIS管道的早期阶段运行的代码附加一个对象,并且在后续阶段运行的代码可以检索对象并使用它而不是其他通过添加该对象来更改IIS管道处理的功能.

数据只需要在一个HTTP请求中保留 – 我不需要将它存储在请求之间.我需要它自动为每个新请求“重置” – 这样当一个新请求到来时它不包含我的代码附加到前一个请求的对象.

看起来像HttpContext.Items是要走的路,虽然MSDN对其目的的描述不是很清楚.

是用HttpContext.Current.Items解决我的问题的方法吗?

解决方法

这应该工作 – 我之前在一个项目中完成了这个.

我有一个类有这样的静态属性 –

public class AppManager
{
    public static RequestObject RequestObject
    {
        get
        {
            if (HttpContext.Current.Items["RequestObject"] == null)
            {
                HttpContext.Current.Items["RequestObject"] = new RequestObject();
            }

            return (RequestObject)HttpContext.Current.Items["RequestObject"];
        }
        set { HttpContext.Current.Items["RequestObject"] = value; }
    }
}

然后RequestObject包含我所有的自定义数据,然后在我的应用程序中我可以做

AppManager.RequestObject.CustomProperty

到目前为止,我还没有遇到HttpContext.Items工作方式的任何问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读