Problem mit HttpHandler und Sitzungsstatus

Ich versuche, eine Lösung zu finden, die App_Offline.htm für den Remotezugriff simuliert, lokalen Benutzern jedoch das Testen der Website ermöglicht. Ich habe einige verschiedene Optionen gefunden, die ich ausprobiere, aber die beste scheint nicht für unsere ASP.NET (2.0) -Site zu funktionieren, die davon abhängt, dass der Sitzungsstatus auf allen Seiten aktiviert ist.

Der HttpHandler wird in die web.config eingefügt

<add verb="*" path="*.aspx" type="AppOffline.AppOfflineHandler, AppOffline" />

und wenn die Klasse aufgerufen wird, läuft sie auf Folgendes hinaus:

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 );
}

Das Problem liegt in PageParser.GetCompiledPageInstance. Bei jeder Seite, die ich jetzt auf unserer Website besuche, wird die folgende Fehlermeldung angezeigt:

"Der Sitzungsstatus kann nur verwendet werden, wenn enableSessionState in einer Konfigurationsdatei oder in der Page-Direktive auf true gesetzt ist. Stellen Sie außerdem sicher, dass System.Web.SessionStateModule oder ein benutzerdefiniertes Sitzungsstatusmodul im Verzeichnis <configuration> \ enthalten sind. Abschnitt <system.web> \ <httpModules> in der Anwendungskonfiguration. "

Wir haben alle unsere Sitzungsvariablen in SQL gespeichert, nicht sicher, ob dies dazu beiträgt oder nicht.

Ich habe andere Leute gesehen, die ähnliche Fehler hatten, und die Antwort, die ihnen gegeben wurde, war, dass Sie den ProcessRequest (Kontext) hinzufügen mussten, um das Problem zu umgehen.

Gedanken, Kommentare, Vorschläge?

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage