Выполнить код, если приложение закрывается в ASP.NET

Размещение new позволяет вам создать объект в уже выделенной памяти.

Возможно, вы захотите сделать это для оптимизации (это быстрее не перераспределять все время), но вам нужно повторно -конструировать объект несколько раз. Если вам нужно перераспределять ресурсы, было бы более эффективно выделять больше, чем вам нужно, даже если вы еще не хотите его использовать.

Devex дает хороший пример :

Стандартный C ++ также поддерживает оператор размещения new, который строит объект в предварительно выделенном буфере. Это полезно при создании пула памяти, сборщика мусора или просто в том случае, когда безопасность производительности и исключений является первостепенной (нет опасности сбоя распределения, поскольку память уже выделена, а построение объекта в предварительно выделенном буфере занимает меньше времени) :

blockquote>
char *buf  = new char[sizeof(string)]; // pre-allocated buffer
string *p = new (buf) string("hi");    // placement new
string *q = new string("hi");          // ordinary heap allocation

Вы также можете быть уверены, что в определенной части критического кода может отсутствовать отказ в распределении (возможно, вы работаете на кардиостимуляторе, например). В этом случае вы захотите использовать новое место размещения.

Освобождение места размещения new

Вы не должны освобождать все объекты, которые используют буфер памяти. Вместо этого вы должны удалить [] только исходный буфер. Затем вам придется вручную вызвать деструкторов ваших классов вручную. Для хорошего предложения по этому вопросу см. FAQ по Stroustrup: Есть ли «удаление места размещения» ?

-1
задан Roberto Lopez 5 March 2019 в 18:08
поделиться

1 ответ

Вы можете использовать Global.ASAX для переопределения событий. -> https://forums.asp.net/t/1197922.aspx?Events+in+Global+ASAX

  1. Это события, которые можно включить в файл Globla.asax для веб-приложения 1. Application_Init: это событие вызывается при первоначальной инициализации приложения. Application_Start: это событие возникает впервые при запуске веб-приложения asp.net3. Application_BeginRequest: это событие вызывается для каждого http-запроса, поступающего в веб-приложение4. Application_EndRequest: это событие вызывается для каждого конца http-запроса. Application_AuthenticateRequest: это событие используется для аутентификации запроса. Это событие, где вы можете проверить роли и права пользователя. Application_Error: Это событие вызывается для всех необработанных исключений в веб-приложении asp.net. Здесь мы можем получить сведения об исключении и показать его конечному пользователю7. Application_End: это событие вызывается, когда завершается все приложение, т.е. по истечении определенного времени ожидания. Здесь мы можем очистить всю выделенную память приложения. Session_Start: это событие вызывается, когда пользовательский сеанс запускается впервые. Здесь мы можем инициализировать пользовательскую информацию для этого конкретного пользователя в веб-приложении asp.net.
  2. Session_End: это событие вызывается, когда конкретный пользователь достигает своего периода ожидания. По умолчанию время ожидания сеанса для одного пользователя составляет 20 минут.
0
ответ дан Marcos 5 March 2019 в 18:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: