asp.net - cannot load SignalR hub script in Autofac -
i'm trying use signalr autofac dependency in application, have registered dependencies on run time causing error signalr dyanmic generated file hubs missing , without can't anything. i've searched internet couldn't find solution. please help.
config class:
[assembly: webactivatorex.preapplicationstartmethod(typeof(iocconfig), "registerdependencies")] namespace rental.bootstrapper { public class iocconfig { public static void registerdependencies() { var builder = new containerbuilder(); const string nameorconnectionstring = "name=defaultconnection"; builder.registercontrollers(typeof(mvcapplication).assembly); builder.registerapicontrollers(typeof(webapiconfig).assembly); builder.registerhubs(typeof(rentalhub).assembly); //builder.registerinstance(typeof(startup)); builder.registermodule<autofacwebtypesmodule>(); builder.registergeneric(typeof(entityrepository<>)).as(typeof(irepository<>)).instanceperhttprequest(); builder.registergeneric(typeof(service<>)).as(typeof(iservice<>)).instanceperhttprequest(); builder.registertype(typeof(unitofwork)).as(typeof(iunitofwork)).instanceperhttprequest(); builder.register<ientitiescontext>(b => { var logger = b.resolve<ilogger>(); var context = new rentalcontext(nameorconnectionstring, logger); return context; }).instanceperhttprequest(); builder.register(b => nloglogger.instance).singleinstance(); builder.registermodule(new identitymodule()); var container = builder.build(); dependencyresolver.setresolver(new autofac.integration.mvc.autofacdependencyresolver(container)); globalconfiguration.configuration.dependencyresolver = new autofacwebapidependencyresolver(container); var signalrdependencyresolver = new autofac.integration.signalr.autofacdependencyresolver(container); globalhost.dependencyresolver = signalrdependencyresolver; } } }
i suspect not autofac issue @ all. assume use mvc4, using owin default. owin has startup class, middleware , extensions must registered. normally, startup.cs class @ minimum, required signalr, contains this:
using microsoft.aspnet.signalr; using microsoft.owin; using owin; [assembly: owinstartup(typeof(startup))] namespace mynamepace { public class startup { public void configuration(iappbuilder app) { app.mapsignalr(new hubconfiguration { enabledetailederrors = true }); } } } if @ mapsignalr method, find registers the"/signalr" route , missing, if understand question correctly:
/// <summary> /// maps signalr hubs app builder pipeline @ "/signalr". /// /// </summary> /// <param name="builder">the app builder</param><param name="configuration">the <see cref="t:microsoft.aspnet.signalr.hubconfiguration"/> use</param> public static iappbuilder mapsignalr(this iappbuilder builder, hubconfiguration configuration) { return owinextensions.mapsignalr(builder, "/signalr", configuration); } autofac signalr documentation has section owin startup, suggest there. has complete code startup.cs file includes autofac container initialization, registrations , owin-related code signalr.
Comments
Post a Comment