Как правило, вы всегда должны настраивать свой контейнер IoC в обработчике событий Application_Start
, поскольку это должно происходить только один раз в течение времени жизни приложения.
В случае StructureMap документация рекомендует выделить код конфигурации контейнера в отдельный Bootstrapper
класс:
public static class Bootstrapper
{
public static void Bootstrap()
{
// ObjectFactory.Initialize(...
}
}
, который вы затем вызываете из обработчика события Application_Start
:
protected void Application_Start()
{
Bootstrapper.Bootstrap();
}