我們使用溫莎,但是這個過程是任何國際奧委會相同的:
首先創建您的解析器,從signalR DefaultDependencyResolver繼承:
public class CustomContainerResolver: DefaultDependencyResolver
{
public CustomContainerResolver(IocContainer instance)
{
_instance = instance;
}
public override object GetService(Type serviceType)
{
return _instance.Instance.Kernel.HasComponent(serviceType) ? _instance.GetService(serviceType) : base.GetService(serviceType);
}
public override IEnumerable<object> GetServices(Type serviceType)
{
return _instance.Instance.Kernel.HasComponent(serviceType) ? _instance.GetAllInstances(serviceType): base.GetServices(serviceType);
}
}
在啓動:
var signalrDependency = new CustomContainerResolver(container);
那麼像往常一樣
app.MapSignalR(hubConfiguration);
我掛在我原來的問題使用的Funq依賴解析器,它也是非常相似的Ninject一個與Funq缺少的東西可以正常使用 https://gist.github.com/aaronlerch/5345587 顯然。 – Ronnie