Ну, MvcContrib.IncludeHandling
использует MvcContrib's DependencyResolver
, чтобы найти необходимые компоненты. Это не очень хорошо задокументировано (см. Образец сайта для более подробной информации, хотя в этом случае используется специальный инжектор).
Например, MvcContrib.Castle
имеет WindsorDependencyResolver
для этого контейнера IoC, который вы можете имитировать, чтобы использовать NInject (может быть что-то, если вы Google).
Инициализация довольно многословна, но идет следующим образом (контейнер - это контейнер Windsor, в вашем случае используйте NInject):
var httpContextProvider = new HttpContextProvider(HttpContext.Current);
var settings = IIncludeHandlingSettings)ConfigurationManager.GetSection("includeHandling");
container.Register(Component.For(typeof(IIncludeReader)).ImplementedBy(typeof(FileSystemIncludeReader)));
container.Register(Component.For(typeof(IIncludeStorage)).ImplementedBy(typeof(StaticIncludeStorage)));
container.Register(Component.For(typeof(IKeyGenerator)).ImplementedBy(typeof(KeyGenerator)));
container.Register(Component.For(typeof(IIncludeHandlingSettings)).Instance(settings));
container.Register(Component.For(typeof(IHttpContextProvider)).Instance(httpContextProvider));
container.Register(Component.For(typeof(IIncludeCombiner)).ImplementedBy(typeof(IncludeCombiner)));
container.Register(Component.For(typeof(IncludeController)).ImplementedBy(typeof(IncludeController)).LifeStyle.Transient);
DependencyResolver.InitializeWith(new WindsorDependencyResolver(Container));
Таким образом, вы можете зарегистрировать все необходимые зависимости. Помните, что вам нужен раздел includeHandler в вашей веб-конфигурации.
<configSections>
<section name="includeHandling" type="MvcContrib.IncludeHandling.Configuration.IncludeHandlingSectionHandler, MvcContrib.IncludeHandling"/>
</configSections>
<includeHandling>
</includeHandling>
Надеюсь, это помогло.