Я не понимаю, как вы можете ввести свои настройки, когда класс _ViewStart (System.Web.Mvc.ViewStartPage) не имеет свойства для их хранения.
Предполагая, что вы пытаетесь избежать выборки своих настроек в _ViewStart, возможное решение будет состоять в том, чтобы создать собственный класс ViewStartPage, который имеет свойство для ваших настроек, и вызвать из него локатор служб:
/* CustomViewStart.cs */
public class CustomViewStart : System.Web.Mvc.ViewStartPage
{
public ISettings Settings { get; set; }
public CustomViewStart()
{
// Call service locator here
this.Settings = blah
}
}
Чтобы использовать это, вам нужно установить базовый класс в _ViewStart:
@* _ViewStart.cshtml *@
@inherits MyTestApp.CustomViewStart
Похоже, нет (или, конечно, я не могу найти) способа установить базовый класс для этого в Web.config, как вы можете с помощью basePageType: (