Usando o injetor simples com SignalR
Eu pensei que usar meu próprio IoC seria bastante direto com SignalR e talvez seja; muito provavelmente estou fazendo algo errado. Aqui está o meu código que tenho até agora:
<code>private static void InitializeContainer(Container container) { container.Register<IMongoHelper<UserDocument>, MongoHelper<UserDocument>>(); // ... registrations like about and then: var resolver = new SimpleInjectorResolver(container); GlobalHost.DependencyResolver = resolver; } </code>
e depois minha aula:
<code>public class SimpleInjectorResolver : DefaultDependencyResolver { private Container _container; public SimpleInjectorResolver(Container container) { _container = container; } public override object GetService(Type serviceType) { return _container.GetInstance(serviceType) ?? base.GetService(serviceType); } public override IEnumerable<object> GetServices(Type serviceType) { return _container.GetAllInstances(serviceType) ?? base.GetServices(serviceType); } } </code>
O que acaba acontecendo é que eu recebo um erro que IJavaScriptProxyGenerator não pode ser resolvido, então eu acho, bem, vou adicionar o registro:
<code>container.Register<IJavaScriptProxyGenerator, DefaultJavaScriptProxyGenerator>( ConstructorSelector.MostParameters); </code>
mas depois há um monte de outros! Eu chego a:
<code>container.Register<IDependencyResolver, SimpleInjectorResolver>(); container.Register<IJavaScriptMinifier, NullJavaScriptMinifier>(); container.Register<IJavaScriptProxyGenerator, DefaultJavaScriptProxyGenerator>( ConstructorSelector.MostParameters); container.Register<IHubManager, DefaultHubManager>(); container.Register<IHubActivator, DefaultHubActivator>(); container.Register<IParameterResolver, DefaultParameterResolver>(); container.Register<IMessageBus, InProcessMessageBus>(ConstructorSelector.MostParameters); </code>
Que ainda me dá "Nenhum registro para o tipoITraceManager
poderia ser encontrado. "... mas agora eu estou querendo saber se eu estou fazendo isso direito em tudo como eu espero que eu não precise re-fio tudo SignalR está fazendo ... certo? Espero que? Se não eu ' Vou continuar caminhando, mas eu sou um newb SignalR e Simple Injector, então pensei em perguntar primeiro :)
Adicional:https://cuttingedge.it/blogs/steven/pivot/entry.php?id=88 desde SignalR teve vários construtores.