"全球"访问变量

时间:2014-10-23 18:23:53

标签: asp.net-mvc

我开始使用 ASP.NET MVC (4)。

在整个应用程序中,我经常依赖员工密钥。我可以通过当前用户的用户名从数据库中获取此密钥,我可以通过User.Identity.Name访问该用户名。

不是在整个控制器中重复查找,一次查找的正确方法是什么,并将其存储在一个变量中,然后可以通过所有控制器进行访问?

1 个答案:

答案 0 :(得分:2)

您可以以这种方式将其保存在Cookie中:

Dim cookie As New HttpCookie("SomeNameForCookie")

以这种方式将变量放在这个cookie上:

cookie("Name1") = "Some Value Can be also integer etc"
cookie("Name2") = 2

要获取您的cookie:

HttpContext.Current.Request.Cookies.Get("SomeNameForCookie")

您从cookie中读取值的方式与放置值(cookie(“Name1”)等)相同。


您也可以以这种方式保存会话变量:

Session("Name3") = 3

第三种方式是创建控制器基类。从中继承所有/部分控制器。当它充满某些值(受保护或公共)时,它将在所有控制器中可用。