Я пытаюсь создать решение, которое будет имитировать App_Offline.htm для удаленного доступа, но все же позволит локальным пользователям тестировать веб-сайт.Я нашел несколько различных опций, которые я пробую, но, кажется, лучший из них не работает для нашего сайта ASP.NET (2.0), который зависит от состояния сеанса, включенного на всех страницах.
HttpHandlerдобавляется в web.config
<add verb="*" path="*.aspx" type="AppOffline.AppOfflineHandler, AppOffline" />
и, когда класс вызывается, сводится к следующему:
public void ProcessRequest( HttpContext context )
{
this.context = context;
// offline mode and remote request?
if ( !context.Request.IsLocal &&
IsOffline
)
{
context.Response.Clear();
context.Response.Write( AppOffline );
context.Response.End();
}
else
// redirect to the default processing pipe
PageParser.GetCompiledPageInstance(
context.Request.Path,
context.Request.PhysicalPath,
context ).ProcessRequest( context );
}
Проблема в PageParser.GetCompiledPageInstance.На любой странице, которую я сейчас открываю на нашем веб-сайте, я получаю следующее сообщение об ошибке:
"Состояние сеанса может использоваться, только если для enableSessionState задано значение true, либо в файле конфигурации, либо в директиве Page.Также убедитесь, что System.Web.SessionStateModule или пользовательский модуль состояния сеанса включены в раздел \ \ в конфигурации приложения. "
Мывсе переменные нашего сеанса хранятся в SQL, но я не уверен, что это влияет на него.
Я видел других людей, у которых были похожие ошибки, и они получили ответ, что вам нужно было добавитьProcessRequest (контекст), чтобы обойти это.
мысли, комментарии, предложения?
спасибо.