Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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#mvc中的任何位置重用_C#_Asp.net Mvc_Petapoco - Fatal编程技术网

全局声明变量,以便可以在c#mvc中的任何位置重用

全局声明变量,以便可以在c#mvc中的任何位置重用,c#,asp.net-mvc,petapoco,C#,Asp.net Mvc,Petapoco,我浏览了很多链接,但都找不到我的答案。这些链接,比如,以及更多的链接,都建议使用一些复杂的方法,比如使用应用程序启动或使用会话变量、单例模式。但我不想使用这些,我只想在某个文件中声明一个变量,并在我需要的任何地方访问它 var dataContext = new PetaPoco.Database("MessageEntity"); 我需要访问数据库的任何地方都需要这一行。所以我想在某个不同的文件中将这个dataContext声明为全局变量,并在其他几个控制器上访问它。我将如何做到这一点。请帮

我浏览了很多链接,但都找不到我的答案。这些链接,比如,以及更多的链接,都建议使用一些复杂的方法,比如使用应用程序启动或使用会话变量、单例模式。但我不想使用这些,我只想在某个文件中声明一个变量,并在我需要的任何地方访问它

var dataContext = new PetaPoco.Database("MessageEntity");

我需要访问数据库的任何地方都需要这一行。所以我想在某个不同的文件中将这个dataContext声明为全局变量,并在其他几个控制器上访问它。我将如何做到这一点。请帮忙

要创建全局变量:

public static class Global
{
    public volatile static Object GlobalVariable;
}
它可以通过Global.GlobalVariable从应用程序访问到任何地方


但对于数据访问上下文来说,这是一个糟糕的解决方案

我想这个答案可以帮助你致敬!前面评论中的链接是您的答案。但是,要注意,您正在创建一个,这是维护噩梦的开始。改变你的设计,而你仍然可以!使用依赖注入代替。好吧,如果它是一个如此糟糕的编程实践,我可能不会使用它。但我想知道是怎么做到的。我编写了一个单独的类public static class DatabaseEntity{public DatabaseEntity(){var dataContext=new PetaPoco.Database(“MessageEntity”);}}现在我将如何使用这个类其他地方为什么需要这样做?通过全局设置变量,您试图实现什么??另外,您应该尝试配置文件,
web.config
我建议您学习依赖注入和IoC容器。