Я новичок в Spring, поэтому некоторые решения для меня непонятны
Это приложение ASP.NET MVC4 / .NET 4.5
Это текст исключения:
An exception of type 'System.Configuration.ConfigurationErrorsException' occurred in Spring.Core.dll but was not handled in user code
Additional information: Error creating context 'spring.root': Request is not available in this context
Ошибка возникает в пользовательском классе менеджера контекста:
public static IApplicationContext GetApplicationContext()
{
if (null == appContext)
{
lock (typeof(ContextManager))
{
if (null == appContext)
{
appContext = ContextRegistry.GetContext(); <-- throws there
}
}
}
return appContext;
}
Многие решения, которые я искал в Google, говорят мне переключить режим IIS на интегрированный режим. В этом режиме приложение работает нормально, но мне нужно отладить приложение с помощью IISExpress. И нет никаких идей
Вот моя трассировка стека для этого исключения:
at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult , Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject)
at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
в System.Configuration.BaseConfigurationRecord.GetSection(String configKey)
в System.Web.HttpContext.GetSection(String sectionName)
в System.Web.Configuration.HttpConfigurationSystem.GetSection(String sectionName)
в System.Web.Configuration.HttpConfigurationSystem.System.Configuration.Internal.IInternalConfigS ystem.GetSection(String configKey)
в System.Configuration.ConfigurationManager.GetSection(String sectionName)
в Spring.Util.ConfigurationUtils.GetSection(String sectionName)
в Spring.Context.Support. ContextRegistry.InitializeContextIfNeeded()
в Spring.Context.Support.ContextRegistry.GetContext()
в HealthDec.Cms.Model.ContextManager.GetApplicationContext() в ~~\Model\ContextManager.cs:строка 46< br/> в HealthDec.Cms.Model.ContextManager.GetObject(имя строки) в ~~\Model\ContextManager.cs:line 64
в HealthDec.Cms.WebApp.MvcApplication.Init() в ~~\Applications \WebApp\Global.asax.cs:строка 156
в System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS (IntPtr appContext, контекст HttpContext, обработчики MethodInfo[])
Context
в начале жизненного цикла приложения (он различается между классическим и интегрированным режимами). Если ваше приложение является производным отSpringMvcApplication
, переопределитеConfigureApplicationContext
, чтобы получить доступ к контексту. - person Andreas   schedule 19.08.2014Integrated Pipeline Mode
для поддержки OWIN - Однако режим не загружаетRequest
наApplication_Start
, где я загружаю объекты Spring. Примечание. Мне нужно выполнить бизнес-логику при запуске приложения. - person Exegesis   schedule 06.11.2020