C# 获取对Global.asax属性的访问权限
我正在用C#和.NET框架开发一个ASP.NETMVC4WebAPI应用程序 我的问题很简单。这是我的C# 获取对Global.asax属性的访问权限,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我正在用C#和.NET框架开发一个ASP.NETMVC4WebAPI应用程序 我的问题很简单。这是我的Global.asax课程 Global.asax: public class WebApiApplication : System.Web.HttpApplication { public MyClass MyClassVM { get { return Singleton.MyClassVM; } } protected void Appli
Global.asax
课程
Global.asax:
public class WebApiApplication : System.Web.HttpApplication
{
public MyClass MyClassVM
{
get { return Singleton.MyClassVM; }
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
我想在我的
ApiController
上访问MyClassVM
。我该怎么做呢?这里引入间接寻址有什么特别的原因吗?如果不是,我不明白为什么不能从控制器直接使用singleton,如下所示:
public IHttpActionResult Get()
{
Singleton.MyClassVM...
}
否则,您不能使
MyClassVM
属性static
,然后从控制器通过类型访问它吗 @mason这可能是我第一次使用ASP.NET MVC Web Api。如果你有更好的方法,请与我们分享。@mason我这样做是因为这是我第一次这样做,我不知道如何做得更好。谢谢你的回答。如果我想直接从ApiController使用Singleton,我应该把它放在哪里?我是说,在哪个文件夹上?App_Start?只要它是public
或internal
@VansFannel,那么它在哪个目录中都不重要。请尝试从控制器的操作方法访问Singleton.MyClassVM
,看看会发生什么。再次感谢。请您解释一下:“否则,您不能将MyClassVM属性设置为静态,然后从控制器通过类型访问它吗?”?谢谢如果您使MyClassVM
属性static
,(即:public static MyClass MyClassVM{..}
),您应该能够像这样从控制器访问它:WebApiApplication.MyClassVM
。