2013-03-07 3 views
1

SignalR 기본 경로에 액세스하려고 시도 할 때마다 DI를 위해 Ninject를 사용하는 기존 ASP.Net MVC 4 프로젝트에서 SignalR을 설정하려고합니다. 내가 통해 SignalR에 Ninject에 커널을 주입 시도SignalR 및 Ninject - 경로에 대한 컨트롤러를 반환하지 않는 Ninject

Exception message: The IControllerFactory 'Infrastructure.NinjectControllerFactory' did not return a controller for the name 'signalr'. 

: 나는, 나는 다음과 같은 예외가 던져) 경로 테이블에 확인했다

GlobalHost.DependencyResolver = new NinjectSignalRDependencyResolver(ninjectKernel); 

그리고 난을 통해 기본 경로를 설정하고 :

Global.asax에 위해 Application_Start에서

RouteTable.Routes.MapHubs(); 

나는이 문제를 해결 할 수있는 방법을 찾을 수 없습니다.

답변

2

좋아, 직접 해결했습니다. 문제가 아니기 때문에 라우팅 순서 문제입니다.

RouteTable.Routes.MapHubs()를 이동하는 것을 의미하는 라우팅 테이블 순서에서 ~/signalr 라우트가 필요합니다. RegisterRoutes 호출 위의 내 Application_Start 상단에 항목.