这个答案是完全通用的,不仅适用于ASP.NET MVC.
静态构造函数每个应用程序域最多运行一次.它保证在该类的任何静态或实例成员访问之前运行.所以不,每次请求都不会调用它.
是的,静态数据通过整个应用程序域共享.每个应用程序域都有不同的静态数据.因此,除非您在Web园或Web场场景上运行,否则它将为所有用户共享.附注:如果将静态字段声明为ThreadStatic,则它们仅适用于单个线程,这在ASP.NET应用程序中可能没有多大意义.
ThreadStatic