LightInject SignalR缺失.RegisterHubs方法

时间:2015-02-07 17:57:25

标签: c# model-view-controller ioc-container light-inject

我刚开始使用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());
        }
    }
}

任何人都知道我做错了什么?

1 个答案:

答案 0 :(得分:2)

不幸的是,这只是糟糕的文档。该方法不存在且从未存在过。您必须在LightInject Container中手动注册每个集线器。

另外,请注意我通过更改SignalR for LightInject中的DependencyResolver来遇到issues

PS:我知道我的答案很晚但仍然认为它可能对搜索相同问题的人有用。