好的,我放弃了......
我想要的是每个请求共享EF4的DbContext实例。我像这样配置了StructureMap:
For<MyContext>().Use(new MyContext("LocalhostConnString"));
但是当我刷新我的网站,甚至在其他浏览器中打开它时,我得到了MyContext的相同的实例。为什么这会在请求中共享?
我错过了什么吗?
答案 0 :(得分:13)
是的...大约4个字符。尝试:
For<MyContext>().Use(() => new MyContext("LocalhostConnString"));
如果给StructureMap一个对象实例,它会将该实例视为单例,并且每次都返回相同的实例。如果你给它一个创建实例的lambda,它将在每次请求类型时运行该lambda。