À l'aide de Simples Injecteur avec SignalR

J'ai pensé à l'aide de mon propre Cio serait assez simple avec SignalR et peut-être qu'il est; la plupart du temps je suis en train de faire quelque chose de mal. Voici mon code, j'ai jusqu'à présent:

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

et puis ma classe:

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);
    }
}

Il arrive, j'obtiens une erreur que IJavaScriptProxyGenerator ne peut pas être résolu, je pense donc que, eh bien, je vais ajouter l'enregistrement:

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

mais alors il y a un tas d'autres! J'arrive à:

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

Qui me donne toujours "Aucun enregistrement de type ITraceManager a pu être trouvé." ... mais maintenant je me demande si je fais ce droit à tous comme je l'espère, je n'aurais pas besoin de re-câbler tout SignalR est en train de faire...droit? Espérons? Si pas, je vais continuer de courir le long, mais je suis un SignalR et Simple de l'Injecteur newb donc pensé que je voudrais vous demander d'abord. 🙂

Supplémentaires: https://cuttingedge.it/blogs/steven/pivot/entry.php?id=88 depuis SignalR a plusieurs constructeurs.

InformationsquelleAutor rball | 2012-05-11