Поделиться через


Метод IHttpStoredContext::CleanupStoredContext

Очищает сохраненный контекст.

Синтаксис

virtual VOID CleanupStoredContext(  
   VOID  
) = 0;  

Параметры

Этот метод не принимает параметров.

Комментарии

Поведение этого метода зависит от реализации. В качестве руководства следует использовать следующие сведения, но они могут быть неправильными во всех сценариях:

  • Некоторые реализации выполняют пустую операцию во время CleanupStoredContext метода .

  • Некоторые реализации вызывают delete``this текущий указатель IHttpStoredContext .

  • В некоторых реализациях используется подсчет внутренних ссылок и уменьшается число внутренних ссылок во время каждого вызова CleanupStoredContext. Эти средства реализации вызывают delete``this текущий IHttpStoredContext объект немедленно, если это число ссылок переходит к 0.

Примечания для разработчиков

IHttpStoredContext Разработчики должны создавать protected деструкторы или private``virtual , так как IHttpStoredContext указатель не должен быть понижаем до самого конкретного класса для удаления. Скорее, удаление этих средств реализации должно контролироваться каждым указателем внутри и обрабатываться во время вызова CleanupStoredContext.

Примечания для абонентов

Метод CleanupStoredContext следует вызывать только один раз для указателя IHttpStoredContext , так как некоторые реализации вызывают delete``this при CleanupStoredContext вызове . Вызов CleanupStoredContext более одного раза для большинства IHttpStoredContext указателей приведет к возникновению исключения нарушения доступа или повреждению данных в памяти.

Пример

В следующем примере кода показано, как создать класс с IHttpStoredContext именем MyStoredContext и управлять внутренним удалением MyStoredContext указателя. MyStoredContext реализует только private деструктор и вызывает его при вызове CleanupStoredContext метода .

// 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()  
    {  
  
    }  
};  

Требования

Тип Описание
клиент — IIS 7.0 в Windows Vista
— IIS 7.5 в Windows 7
— IIS 8.0 в Windows 8
— IIS 10.0 в Windows 10
Сервер — IIS 7.0 в Windows Server 2008
— IIS 7.5 в Windows Server 2008 R2
— IIS 8.0 в Windows Server 2012
— IIS 8.5 в Windows Server 2012 R2
— IIS 10.0 в Windows Server 2016
Продукт — 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
Заголовок Httpserv.h

См. также:

Интерфейс IHttpStoredContext