Зависимость SignalR Funq

54
6

Я пытаюсь ввести зависимости Signalr с помощью Funq DI

Этот процесс объясняется здесь довольно хорошо, и я также попытался выполнить этот вопрос.

и версия Ninject работает очень хорошо.

Теперь я пытаюсь преобразовать его в версию Funq, используя эту суть для FunqDependencyResolver. но эта версия Funq не работает и дает "System.MissingMethodException: без конструктора без параметров для этого объекта", потому что он не регистрирует зависимости.

Это потому, что версия Ninject разрешает метод?

спросил(а) 2014-01-19T21:52:00+04:00 6 лет, 4 месяца назад
1
Решение
76

Мы использовали Windsor, но для любого IoC этот процесс одинаковый:

Сначала создайте свой резольвер, наследуйте от 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);

ответил(а) 2014-01-20T11:42:00+04:00 6 лет, 4 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема