Autofac: NullReferenceException in Autofac. Component. Activation. ReflectionActivator. ConstructInstance

by Oliver 23. June 2010 15:10

Oder: Wie ich Autofac so nutze, dass ich eine hilfreichere Fehlermeldung erhalte.

Wir nutzen Autofac und Autofac.Integration.Web mit PropertyInjection in einer BasePage-Klasse für Dependency Injection. Gestern bin ich (mind. schon zum zweiten Mal) über folgenden Fehler gestolpert (siehe auch Titel):

Autofac-NullRef

Der Fehler rührte – wie ich nach einigem Debuggen herausfand – von einer NullReferenceException in einem Constructor einer bei im Autofac-Container registrierten Klasse her. Leider verschwieg mir die Exception aber, um welche Klasse es sich hierbei handelte. Problematisch, wenn man mehrere Zig oder gar Hundert Klassen registriert hat.

Meine erste Idee, dieses Problem in Zukunft zu umgehen und direkt an die tatsächliche ursächliche Exception zu gelangen, war jeglichen Code aus dem Konstruktor in eine Init()-Methode zu verfrachten, die dann im Stack-Trace als Fehlerquelle auftreten sollte. Leider klappte das nicht – der Stack-Trace sah genauso aus wie vorher.#

Glücklicherweise zeigt der Stack-Trace in unseren NUnit-Tests sowohl den Constructor als auch die Init()-Methode als Fehlerquelle an. Nur hatte mein Test das Fehlerszenario leider nicht berücksichtigt. Jetzt tut er es.

Vielleicht hilft die Info ja jemandem weiter.

Gruß, Oliver

enjoyed the post?

Tags:

Comments are closed

About Oliver

shades-of-orange.com code blog logo I build web applications using ASP.NET and have a passion for javascript. Enjoy MVC 4 and Orchard CMS, and I do TDD whenever I can. I like clean code. Love to spend time with my wife and our children. My profile on Stack Exchange, a network of free, community-driven Q&A sites

About Anton

shades-of-orange.com code blog logo I'm a software developer at teamaton. I code in C# and work with MVC, Orchard, SpecFlow, Coypu and NHibernate. I enjoy beach volleyball, board games and Coke.