Entity framework 4 EF DbContext和StructureMap作用域

Entity framework 4 EF DbContext和StructureMap作用域,entity-framework-4,structuremap,Entity Framework 4,Structuremap,好吧,我放弃 我想要的是每个请求共享EF4的DbContext实例。我对StructureMap进行了如下配置: For<MyContext>().Use(new MyContext("LocalhostConnString")); For()。使用(新的MyContext(“LocalhostConnString”); 但是当我刷新我的站点,甚至在另一个浏览器中打开它时,我会得到与MyContext完全相同的实例。为什么在请求之间共享此信息 我错过什么了吗?是的。。。大约4个字

好吧,我放弃

我想要的是每个请求共享EF4的DbContext实例。我对StructureMap进行了如下配置:

For<MyContext>().Use(new MyContext("LocalhostConnString"));
For()。使用(新的MyContext(“LocalhostConnString”);
但是当我刷新我的站点,甚至在另一个浏览器中打开它时,我会得到与MyContext完全相同的实例。为什么在请求之间共享此信息


我错过什么了吗?

是的。。。大约4个字符。尝试:

For<MyContext>().Use(() => new MyContext("LocalhostConnString"));
For()。使用(()=>newmyContext(“LocalhostConnString”);

如果给StructureMap一个对象实例,它会将该实例视为一个单例,并每次返回相同的实例。相反,如果您给它一个创建实例的lambda,它将在每次请求类型时运行该lambda。

所以,“每次请求类型”,但不是每次请求一次?@Roman Royter正是我的问题。我应该如何处理每个请求?默认的生命周期是暂时的,这意味着MVC/WebAPI的嵌套容器,这实际上意味着每个请求-显然