Метод 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 |