asp.net – 将自定义类添加到HttpContext

前端之家收集整理的这篇文章主要介绍了asp.net – 将自定义类添加到HttpContext前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在ASP.NET MVC C#项目中:

我目前正在使用HttpContext.Items来存储应该在该请求中的任何地方使用的属性.
这就是我在控制器中的含义:

HttpContext.Items["IUser"] = new CustomClass(“parameter”);

这可以在视图中检索,因为我在视图web.config文件中覆盖了这样的默认WebViewPage:

<pages pageBaseType="Project.CustomWebViewPage">

在CustomWebViewPage中,我创建了一个属性,并在InitHelpers()方法中设置它,如下所示:

IUser = (CustomClass)HttpContext.Current.Items["IUser"];

但是,如果我想在我的Models / viewmodels中检索它,我将不得不将代码片段放在任何地方,因此我想到了直接在HttpContext中创建CustomClass(所以我至少不需要进行类型转换),但我无法找到如何覆盖或动态添加该对象.

解决方法

您可以创建一个扩展方法.像这样的东西:
public static class HttpContextExtensions
{
    public static CustomClass GetUser(this HttpContextBase context)
    {
        return (CustomClass)context.Items["IUser"];
    }
}

然后你会这样称呼它:

var user = HttpContext.Current.GetUser();
原文链接:https://www.f2er.com/aspnet/246732.html

猜你在找的asp.Net相关文章