我刚开始使用LightInject作为我的MVC项目,它运行得很好。 但我也希望将它用于我的SignalR集线器。所以我按照http://www.lightinject.net/#signalr的说明进行操作。但是我无法在任何地方看到ServiceContainer.RegisterHubs方法。我安装了LightInject,LightInject.Mvc和LightInject.SignalR dll。
using log4net.Config;
using LightInject;
using Microsoft.Owin;
using Owin;
using MvcProject;
using MvcProject.ApplicationServices.Interfaces.EventSignups;
[assembly: XmlConfigurator(ConfigFile = "Web.config", Watch = true)]
[assembly: OwinStartup(typeof (Startup))]
namespace MvcProject
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
//ConfigureAuth(app);
var container = new ServiceContainer();
container.Register<IEventSignupService>();
container.Register<IViewModelRetrieverEventCommentService>();
container.Register<IViewModelRetrieverEventService>();
container.RegisterHubs(); //cannot see method
app.MapSignalR(container.EnableSignalR());
}
}
}
任何人都知道我做错了什么?
答案 0 :(得分:2)
不幸的是,这只是糟糕的文档。该方法不存在且从未存在过。您必须在LightInject Container
中手动注册每个集线器。
另外,请注意我通过更改SignalR for LightInject中的DependencyResolver
来遇到issues。