Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取对Global.asax属性的访问权限_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 获取对Global.asax属性的访问权限

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

我正在用C#和.NET框架开发一个ASP.NETMVC4WebAPI应用程序

我的问题很简单。这是我的
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