asp.net-mvc - ASP.net MVC - 请求范围的全局变量

标签 asp.net-mvc

我有一个值,我希望在单个请求期间有效。我没有使用 Session,因为这会使整个导航 session 的值全局化。

所以我把这个值放在一个类的静态字段中。很好,但后来我发现这些字段更加全局化,也就是说,它们在整个应用程序中保持不变!这意味着导航 session 之间可能存在随机交互。

所以问题是:是否有一个安全的地方可以放置一个全局变量,它将是

  • 全局各地的请求
  • 请求完成后重置
  • 不受任何其他请求的影响,无论是同一用户还是其他用户

  • 谢谢
    帕兰提尔

    编辑
    我会详细说明。我的母版页中有一段代码,我需要在某些条件下隐藏它,而我仅在 Controller 中知道这些代码。我想在 Controller 中设置一个静态变量,然后母版页会查询它,但现在我看到可能有更好的方法......

    最佳答案

    使用 HttpContext.Items - 每个请求的缓存存储。退房 this article有关更多详细信息,请访问 4guysfromrolla。

    它应该可以在 ASP.NET MVC 中正常工作。您可能希望从基类派生母版页(通过代码隐藏或使用 Inherits 指令),并在基类上有一个 protected 方法来检查 HttpContext.Items 并返回,例如true/false 取决于您是否要显示条件代码。

    关于asp.net-mvc - ASP.net MVC - 请求范围的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1492281/

    相关文章:

    c# - 错误回发 ASP.NET MVC 的模型列表

    asp.net - 服务器向 Web 客户端发送消息的最佳方式是什么?

    asp.net - 如何在MVC Identity中使用 “UserName”而不是 “Email”登录?

    asp.net-mvc - 如何使 MVC 路由处理带有破折号的 url

    .net - Oxite:你打算用它做什么?

    asp.net-mvc - 如何在 ADO.NET 中使用存储库和工作单元模式?

    c# - 将 MVC 4 升级到 MVC 5 连接问题

    asp.net-mvc - 在 MVC Asp.Net 中使用 HTML.ActionLink 时如何保持滚动位置?

    ASP.NET MVC 3 - 如何以有效的方式限制区域?

    asp.net-mvc - MVC 3 Razor @model 与使用 @Model.pName 与 @Html.LabelFor(model => model.pName) 打印属性的模型