Ich habe eine MVC4-Anwendung, die Unity für die Abhängigkeitsauflösung verwendet. Eines der Dinge, die wir haben, ist ein Logger-Decorator für den Unity-Container - für den einzigen Zweck der Protokollierung, wenn eine Abhängigkeitsauflösung fehlschlägt.Unity-Registrierungsfehler bei Typen, die ich nicht auflösen kann
Ich finde, dass es eine beträchtliche Anzahl von Arten, die lösen scheitern, dass meine App Lösung nicht explizit. Diese Typen sind:
IControllerFactory
IControllerActivator
IViewPageActivator
ModelMetadataProvider
ITempDataProvider
IActionInvoker
IAsyncActionInvoker
Die Ausnahmen geworfen sind wie folgt aus:
Der Typ ITempDataProvider
keinen zugänglich Konstruktor haben.
... mit einem eigenen Typ.
Diese Ausnahmen treten nur beim Start der Anwendung auf, und jetzt protokollieren wir sie und fahren fort. Somit läuft die Anwendung auch nach dem Auftreten der Fehler einwandfrei.
Ich hasse Schluck Fehler ohne guten Grund, und ohne zu verstehen, was diese in erster Linie zu lösen versucht, ich habe keinen guten Grund.
Fragen:
1) Wer weiß, wer/was diese zu lösen versucht? Es ist nirgendwo in meiner Codebasis. 2) Wenn irgendwo im Framework versucht wird, gelöst zu werden, wird erwartet, dass meine App in Unity eine Lösung für diese bereitstellen wird? 3) Oder ist das nur erwartetes Verhalten, und ich sollte diese Ausnahmen schlucken?
Ich verstehe, dass dies nicht viel zu tun ist, aber ich hoffe, dass jemand anderes diese Art von Fehlern gesehen hat und mir in die richtige Richtung zeigen kann.
Ich akzeptierte dies als Antwort, da Ihre Klarstellung, dass dies erwartetes Verhalten ist, genau das war, wonach ich suchte. Danke, ich weiß das zu schätzen. – Silas
Ich denke, diese Antwort ist nicht korrekt. Eigentlich müssen Sie diese Ausnahme abfangen und null zurückgeben – Illidan
Ich habe diese Antwort gewählt; Ich arbeite jedoch in einer Unternehmensumgebung. Gibt es Unterlagen, auf die Sie mich hinweisen können, um die Antwort zu unterstützen? – Thomas