IHttpStoredContext::CleanupStoredContext-Methode
Bereinigt den gespeicherten Kontext.
Syntax
virtual VOID CleanupStoredContext(
VOID
) = 0;
Parameter
Diese Methode nimmt zwei Parameter entgegen.
Bemerkungen
Das Verhalten dieser Methode hängt von der Implementierung ab. Sie sollten die folgenden Informationen als Richtlinie verwenden, aber sie sind möglicherweise nicht in allen Szenarien korrekt:
Einige Implementierungen führen während der
CleanupStoredContext
-Methode einen leeren Vorgang aus.Einige Implementierungen rufen
delete``this
den aktuellen IHttpStoredContext-Zeiger auf.Einige Implementierungen verwenden die interne Verweiszählung und verringern eine interne Verweisanzahl während jedes Aufrufs von
CleanupStoredContext
. Diese Implementierer rufendelete``this
sofort für den aktuellenIHttpStoredContext
auf, wenn die Verweisanzahl auf 0 geht.
Hinweise für Implementierer
IHttpStoredContext
Implementierer sollten entweder protected
oder private``virtual
Destruktoren erstellen, da ein IHttpStoredContext
Zeiger zum Löschen nicht auf seine spezifischste Klasse herabgestuft werden sollte. Stattdessen sollte das Löschen dieser Implementierungen von jedem Zeiger intern gesteuert und während eines Aufrufs CleanupStoredContext
von behandelt werden.
Hinweise für Aufrufer
Die CleanupStoredContext
-Methode sollte nur einmal für einen IHttpStoredContext
Zeiger aufgerufen werden, da einige Implementierungen aufrufen delete``this
, wenn CleanupStoredContext
aufgerufen wird. Wenn Sie bei den meisten Zeigern IHttpStoredContext
mehr als einmal aufrufenCleanupStoredContext
, wird entweder eine Zugriffsverletzungs-Ausnahme ausgelöst oder Daten im Arbeitsspeicher beschädigt.
Beispiel
Im folgenden Codebeispiel wird veranschaulicht, wie Sie eine IHttpStoredContext
Klasse mit dem Namen MyStoredContext
erstellen und das Löschen eines MyStoredContext
Zeigers intern steuern. MyStoredContext
implementiert nur einen private
Destruktor und ruft diesen Destruktor auf, wenn die CleanupStoredContext
-Methode aufgerufen wird.
// The MyStoredContext class implements the IHttpStoredContext
// interface and demonstrates one possible solution for
// implementing the CleanupStoredContext method.
class MyStoredContext : public IHttpStoredContext
{
public:
// The MyStoredContext method is the public
// constructor for the MyStoredContext class.
MyStoredContext()
{
}
// The CleanupStoredContext method must be implemented
// by non-abstract classes that implement the
// IHttpStoredContext interface. This method
// calls delete this.
virtual void CleanupStoredContext(VOID)
{
delete this;
}
private:
// The MyStoredContext method is the private virtual
// destructor for the MyStoredContext class.
virtual ~MyStoredContext()
{
}
};
Anforderungen
type | BESCHREIBUNG |
---|---|
Client | – IIS 7.0 unter Windows Vista – IIS 7.5 unter Windows 7 – IIS 8.0 unter Windows 8 – IIS 10.0 unter Windows 10 |
Server | – IIS 7.0 unter Windows Server 2008 – IIS 7.5 unter Windows Server 2008 R2 – IIS 8.0 unter Windows Server 2012 – IIS 8.5 unter Windows Server 2012 R2 – IIS 10.0 unter Windows Server 2016 |
Produkt | – IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0 - IIS Express 7.5, IIS Express 8.0, IIS Express 10.0 |
Header | Httpserv.h |