Ich denke, dass ich etwas sehr einfaches verpasse und vielleicht nur ein neues Paar Augen brauche. Ich habe eine ASP.NET MVC-Anwendung. In dieser App verwende ich Unity für meinen IoC, um die Abhängigkeitsinjektion zu verarbeiten. Für jedes meiner Repositorys muss eine Datenbankfactory eingefügt werden, und in jede Datenbankfactory muss ein Prinzipal injiziert werden. Bis jetzt habe ich den PerRequestLifetimeManager benutzt, um diese zu registrieren.
%Vor%Logischerweise habe ich versucht, meinen Hub auf die gleiche Weise zu registrieren.
%Vor%Wenn ich jedoch meine App starte und von meiner Chat-Seite weg navigiere, erhalte ich die Ausnahme "Auflösung der Abhängigkeit" und die InnerException sagt mir: "Die Operation ist aufgrund des aktuellen Status des Objekts nicht gültig." Ich habe auch versucht, die Standard (Transient), PerResolve und ContainerControlled Lifetime Unity Manager zu verwenden, wenn ich diese Leute registriere und mein Problem nicht lösen kann.
Könnte jemand mir einfach einen Demo-Code mit der Verwendung von Unity in einer ASP.NET MVC-Anwendung zur Verfügung stellen, um die Abhängigkeitsinjektion in Ihre Signal-Hubs zu behandeln?
Hier wird Unity Parameter in meinen SignalR Hub eingeben
%Vor%Danke!
Mach es in drei Schritten
Erstens. Erstellen Sie die UnityHubActivator-Klasse
%Vor%Sekunde. Erstellen Sie den Unity-Container und registrieren Sie Ihren Abhängigkeits-Resolver, bevor Sie die Startup-Klasse ausführen.
%Vor%Drittens. Benutze es in deinem Hub
%Vor%Hinweis. Ich ändere nichts in meiner Startup-Klasse
Tags und Links signalr dependency-injection ioc-container signalr-hub unity-container