HttpApplicationState在MVC控制器中不可用

Meh*_*dad 10 c# controller global-variables global-asax asp.net-mvc-2

我正在使用MVC2和VS2010开发一个网站,需要使用Application State全局值.我可以设置一个像'Application ["hits"] = 0;'的值 在Global.asax中但是当尝试在MVC控制器中使用相同时,总是会出现以下错误:

"应用程序"名称在当前上下文中不存在

我也尝试在Global.asax中使用以定义全局变量,但它会触发以下错误:

命名空间不能直接包含字段或方法等成员

我正在寻找一种方法来定义我的MVC2 Web应用程序的所有控制器中可用的全局应用程序状态值.我省略了什么吗?我的控制器看起来像这样:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MVCApplication.Controllers
{
    [HandleError]
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            Application["hits"] += 1;

            ViewData["Message"] = "Welcome to ASP.NET MVC!";
            return View();
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

我感谢任何解决方案和/或建议.

谢谢Mehrdad

utu*_*nga 11

认为在MVC3中你可以通过它访问一个实际的HttpApplicationState对象

HttpContext.ApplicationInstance
Run Code Online (Sandbox Code Playgroud)

属性.那是:

HttpApplicationState application = HttpContext.ApplicationInstance.Application 
Run Code Online (Sandbox Code Playgroud)