如何解决当前请求中某些内容的依赖关系?

时间:2014-10-29 22:00:00

标签: ninject ioc-container

我在ASP.NET Web API应用程序中设置了依赖注入。我有一个场景,其中依赖项依赖于当前请求(例如主机名)上的某些内容。

那么如何将当前请求用作依赖?

以下是我能够提出的内容,但HttpContext.Current无法在自托管方案中使用。

kernel.Bind<IFoo>()
    .ToMethod((context) => 
    {
        string hostName = HttpContext.Current.Request.Url.Host;
        var foo = FooFactory.GetByHostName(hostName);
        return foo;
    })
    .InRequestScope();

我目前正在使用Ninject,但如果可以更好地处理这种情况,我可以切换到不同的IoC容器。

0 个答案:

没有答案