3

我刚开始在我的 MVC 项目中使用 LightInject,它工作得很好。但我也想将它用于我的 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());
        }
    }
}

有人知道我在做什么错吗?

4

1 回答 1

2

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

另外,请注意我通过更改LightInject 的 SignalR 中遇到的问题。DependencyResolver

PS:我知道我的回答迟了,但我仍然认为它可能对寻找相同问题的人有用。

于 2015-09-10T20:06:21.227 回答