1

Can I store my active Entity framework Database Context for the request, as a static property somewhere, so it's easily fetchable from Validators, helpers etc.

**E.G set it from a global action filter onto a static class as

public static DBContext GlobalHelper.ActiveDbContextForRequest;

Does each request share these static properties though? If they do I suppose it cannot work.

4

2 回答 2

3

是的,静态变量在整个应用程序中共享(在所有线程中)。如果不与各种请求同步(因为每个请求都在不同的线程上处理),您就无法安全地访问这些变量。

即使您同步对这些变量的访问,静态变量也只有一个实例,因此所有线程都会看到相同的值——您不能通过这种方式获得特定于请求的值。

于 2013-08-29T23:25:00.790 回答
1

默认情况下,静态变量对于整个应用程序域都是全局的,因此答案是肯定的,它们由它服务的所有请求共享。

于 2013-08-29T23:24:16.340 回答