Asp.net mvc 4 信号1.0.0.0+;统一+;实体框架被破坏
今天我从1.0.0alpha2升级到Signalr1.0.0,我注意到我必须更改我的Asp.net mvc 4 信号1.0.0.0+;统一+;实体框架被破坏,asp.net-mvc-4,unity-container,entity-framework-5,signalr,Asp.net Mvc 4,Unity Container,Entity Framework 5,Signalr,今天我从1.0.0alpha2升级到Signalr1.0.0,我注意到我必须更改我的应用程序\u Start 之前: UnityContainer = Bootstrapper.Initialize(); var unityDependencyResolver = new UnityDependencyResolver(UnityContainer); DependencyResolver.SetResolver(unityDependencyResolver); var signalRUn
应用程序\u Start
之前:
UnityContainer = Bootstrapper.Initialize();
var unityDependencyResolver = new UnityDependencyResolver(UnityContainer);
DependencyResolver.SetResolver(unityDependencyResolver);
var signalRUnityDependencyResolver = new SignalRUnityDependencyResolver(UnityContainer);
RouteTable.Routes.MapHubs(signalRUnityDependencyResolver);
GlobalHost.DependencyResolver = signalRUnityDependencyResolver;
AreaRegistration.RegisterAllAreas();
现在:
我知道文档中说明了RouteTable.Routes.MapHubs()代码>应该放在第一位,但这只会使所有内容都挂在那一行上。这是我发现的唯一一种实际加载的方法
但是,当我尝试进行数据库调用时,我没有得到异常或任何异常,但网站将冻结。当我在调试器中点击pause时,它在遇到的第一个EF5查询中被冻结。但也不例外,所有属性均表示为:
无法计算表达式,因为本机帧位于调用堆栈的顶部。
当我删除RouteTable.Routes.MapHubs()时代码>一切都再次工作(信号器除外)
有时它甚至没有走那么远,然后就挂在AreaRegistration.RegisterAlleas()上代码>
信号器的每一次更新都会再次改变,这让我发疯
要使Unity+信号机工作,正确的呼叫顺序应该是什么
编辑:
当我禁用以下行时,经过一些反复操作后,它似乎可以工作:
var signalRUnityDependencyResolver = new SignalRUnityDependencyResolver(UnityContainer);
GlobalHost.DependencyResolver = signalRUnityDependencyResolver;
var signalRUnityDependencyResolver = new SignalRUnityDependencyResolver(UnityContainer);
GlobalHost.DependencyResolver = signalRUnityDependencyResolver;