Verwenden von Simple Injector mit SignalR

Ich dachte, meine eigene IoC zu verwenden, wäre mit SignalR ziemlich einfach und vielleicht ist es das auch. höchstwahrscheinlich mache ich etwas falsch. Hier ist mein Code, den ich bisher habe:

<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>

und dann meine klasse:

<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>

Was am Ende passiert ist, dass ich eine Fehlermeldung bekomme, dass IJavaScriptProxyGenerator nicht behoben werden kann. Ich denke also, ich werde die Registrierung hinzufügen:

<code>container.Register<IJavaScriptProxyGenerator, DefaultJavaScriptProxyGenerator>(
    ConstructorSelector.MostParameters);
</code>

aber dann gibt es noch ein paar andere! Ich gelange:

<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>

Was gibt mir noch "Keine Registrierung für TypITraceManager könnte gefunden werden. "... aber jetzt frage ich mich, ob ich das überhaupt richtig mache, da ich hoffe, dass ich nicht alles neu verkabeln muss, was SignalR macht ... richtig? Hoffentlich? Wenn nicht, Ich werde weitermachen, aber ich bin ein Neuling in den Bereichen SignalR und Simple Injector, also dachte ich, ich würde zuerst fragen. :)

Zusätzlich:https://cuttingedge.it/blogs/steven/pivot/entry.php?id=88 da SignalR mehrere Konstruktoren hatte.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage