Artikel-ID: 831382 - Geändert am: Dienstag, 25. Oktober 2005 - Version: 1.5

Update: ASP.NET gibt eine Fehlermeldung "NullReferenceException", wenn Sie SQL Server-Sitzungsstatus verwenden und Sie die Funktion OutPutCaching aktivieren

Auf dieser Seite

Alles erweitern | Alles schließen

Problembeschreibung

Wenn Sie den Microsoft SQL Server Session Status verwenden und Sie aktivieren die Funktion OutPutCaching für eine Webseite, wenn Sie das Standortattribut festzulegen, zu Client (<%@ OutputCache Location="Client" Duration="900" VaryByParam="WaitMessage" %>) ein Benutzer erhalten die folgenden Fehlermeldung, wenn der Benutzer die Webseite mehr als einmal zugreift:
NullReferenceException: "der Objektverweis nicht auf eine Instanz eines Objekts festgelegt"
Wenn dieses Problem auftritt, wird eine Stapelüberwachung, die der folgenden ähnelt im Clientfenster angezeigt:

Stack Trace
=======================
Serverfehler in ' / PlacingFileComplete "Application. Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
Beschreibung: Bei der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Überprüfen Sie die Stapelüberwachung, um weitere Informationen über diesen Fehler anzuzeigen und festzustellen, wo dieser Fehler im Code verursacht wurde.
Ausnahmedetails: System.NullReferenceException: Objektverweis nicht auf eine Instanz eines Objekts festgelegt.
Quellfehler: Während der Ausführung der aktuellen Webanforderung wurde eine unbehandelte Ausnahme generiert.
Informationen über den Ursprung und die Position der Ausnahme kann mit der Ausnahmestapelüberwachung unten identifiziert werden.
Stapelüberwachung: [NullReferenceException: Objektverweis nicht auf eine Instanz eines Objekts festgelegt.]
System.Web.SessionState.SqlStateClientManager.CanUsePooling() +33
System.Web.SessionState.SqlStateClientManager.GetConnection (Boolean & UsePooling) +11
System.Web.SessionState.SqlStateClientManager.ResetTimeoutAsyncWorker(String ID) + 40
System.Web.SessionState.SqlStateClientManager.ResetTimeout(String ID) (d)
System.Web.SessionState.SessionStateModule.OnEndRequest(Object Source, EventArgs eventArgs) +102
System.Web.SyncEventExecutionStep.Execute() +60

Ursache

Das erste Mal, wenn ein Benutzer die Seite zugreift speichert Microsoft ASP.NET eine Kopie der Webseite mithilfe des Benutzers eindeutige Sitzungs-ID. Der Arbeitsprozess von ASP.NET verwendet diese zwischengespeicherte Kopie der Webseite für alle späteren Seitenrendering. Nach 900 Sekunden läuft ab in der Cache. Anschließend wird die zwischengespeicherte Kopie der Webseite aus Speicher gelöscht. Die Sitzungs-ID ist jedoch weiterhin aktiv.

Wenn der Benutzer versucht, erneut die Webseite zuzugreifen, erhält der Benutzer die Fehlermeldung, die im Abschnitt "Problembeschreibung" angezeigt wird, da die zwischengespeicherte Kopie der Web page gelöscht wurde.

Lösung

Updateinformationen

Ein unterstütztes Softwareupdate ist inzwischen von Microsoft, jedoch es ausschließlich zur Behebung des Problems die in diesem Artikel beschriebene entwickelt. Deshalb sollten Sie nur Systeme aktualisieren, bei denen dieses spezielle Problem auftritt. Dieses Softwareupdate erhalten kein zusätzliche Tests. Wenn Sie durch dieses Problem nicht schwerwiegend betroffen sind, empfiehlt Microsoft daher, auf das nächste Microsoft .NET Framework 1.0 Service Pack warten, das dieses Softwareupdate enthält.

Dieses Problem sofort beheben, wenden Sie sich an Microsoft Product Support Services, um das Softwareupdate zu erhalten. Eine vollständige Liste mit Telefonnummern der Microsoft-Produktsupport und Informationen Supportkosten der folgenden Microsoft-Website:
http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;%5Bln%5D;cntactms)
Hinweis: PLEASE DO NOT TRANSLATE and DELETE THIS PASSAGE. IT DOES NOT APPLY TO GERMANY.

Voraussetzungen

Sie müssen .NET Framework 1.0 Service Pack 2 installiert um diesen Hotfix installieren verfügen.

Neustartanforderung

Sie müssen möglicherweise Ihren Computer neu starten, nachdem Sie dieses Softwareupdate, angewendet Wenn alle Dienste oder Anwendungen, Dateien, die angezeigt werden, im Abschnitt "Informationen Datei" ausgeführt werden, wenn Sie dieses Softwareupdate anwenden.

Neustartanforderung

Dieses Softwareupdate ersetzt keine anderen Softwareupdates nicht.

Dateiinformationen

Die englische Version dieses Updates weist die Dateiattribute (oder höher Dateiattribute), die in der folgenden Tabelle aufgelistet werden. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) angegeben. Wenn Sie sich die Dateiinformationen ansehen, werden diese Angaben in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu ermitteln verwenden Sie die Registerkarte Zeitzone des Tools ? Datum und Uhrzeit in der Systemsteuerung.
   Date         Time   Version       Size       File name
   ---------------------------------------------------------------------------------------------
   09-Nov-2003  01:45  1.0.3705.468    200,704  Aspnet_isapi.dll
   09-Nov-2003  01:38                    4,169  Aspnet_perf.h
   09-Nov-2003  01:45                  513,302  Aspnet_perf.ini
   09-Nov-2003  01:45                  510,714  Aspnet_perf2.ini
   09-Nov-2003  01:45  1.0.3705.468     24,576  Aspnet_regiis.exe
   09-Nov-2003  01:45  1.0.3705.468     28,672  Aspnet_wp.exe
   09-Nov-2003  00:59  1.0.3705.468     69,632  Corperfmonext.dll
   17-Jun-2003  21:43                   16,597  Installpersistsqlstate.sql
   17-Jun-2003  21:43                   17,331  Installsqlstate.sql
   09-Sep-2003  00:28                   17,807  Installsqlstatetemplate.sql
   09-Nov-2003  00:58  1.0.3705.468    303,104  Mscorjit.dll
   10-Nov-2003  18:11  1.0.3705.468  1,953,792  Mscorlib.dll
   09-Nov-2003  00:51                   10,284  Mscorlib.ldo
   09-Nov-2003  00:58  1.0.3705.468  2,273,280  Mscorsvr.dll
   09-Nov-2003  00:59  1.0.3705.468  2,269,184  Mscorwks.dll
   09-Nov-2003  01:42  1.0.3705.468     20,480  Perfcounter.dll
   23-Aug-2002  02:23                       15  Smartnav.htm
   30-Jul-2003  00:04                    8,728  Smartnav.js
   10-Nov-2003  17:53  1.0.3705.468  1,179,648  System.data.dll
   10-Nov-2003  18:10  1.0.3705.468  1,695,744  System.design.dll
   10-Nov-2003  17:53  1.0.3705.468  1,175,552  System.dll
   10-Nov-2003  17:51  1.0.3705.468    241,664  System.messaging.dll
   10-Nov-2003  17:51  1.0.3705.468    311,296  System.runtime.remoting.dll
   10-Nov-2003  17:49  1.0.3705.468    131,072  System.runtime.serialization.formatters.soap.dll
   10-Nov-2003  17:55  1.0.3705.468  1,196,032  System.web.dll
   10-Nov-2003  17:51  1.0.3705.468    507,904  System.web.services.dll
   10-Nov-2003  18:12  1.0.3705.468  1,994,752  System.windows.forms.dll
   09-Nov-2003  01:51                   16,776  System.windows.forms.ldo
   09-Nov-2003  01:47  1.0.3705.468     57,344  System.windows.forms.tlb
   10-Nov-2003  18:08  1.0.3705.468  1,302,528  System.xml.dll
   10-Nov-2003  17:47  1.0.3705.468     32,768  Tlbimp.exe
   17-Jun-2003  21:43                    1,419  Uninstallpersistsqlstate.sql
   09-Sep-2003  00:28                    2,119  Uninstallsqlstatetemplate.sql
   10-Nov-2003  17:48  1.0.3705.468     65,536  Wsdl.exe

Status

Microsoft hat bestätigt, dass dies ein Problem in Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind.

Weitere Informationen

Standardmäßig wird die OutputCache -Direktive auf Server festgelegt. Um das Problem reproduzieren, legen Sie die OutputCache -Direktive auf Client wie im folgenden Beispiel:
<%@ OutputCache Location="Client" Duration="900" VaryByParam="WaitMessage" %>
Weitere Informationen zur Terminologie, mit der Microsoft-Produktupdates, finden Sie im folgenden Artikel der Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/ ) Erläuterung von Standardbegriffen bei Microsoft Softwareupdates

Informationsquellen

Weitere Informationen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
317604  (http://support.microsoft.com/kb/317604/ ) Konfigurieren von SQL Server zum Speichern von ASP.NET Session State
315896  (http://support.microsoft.com/kb/315896/ ) Verbessern der Leistung durch Zwischenspeichern von Seiten in ASP.NET

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft .NET Framework 1.0
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft ASP.NET 1.0
Keywords: 
kbmt kbhotfixserver kbqfe kbvs2002sp1sweep kbfix kbqfe kbnetframe100presp3fix kbsqlserv2000sp1fix kbbug KB831382 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 831382  (http://support.microsoft.com/kb/831382/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
 

SPRACHE AUSWÄHLEN