У меня есть объект CustomRequestContext
, который должен быть удален после каждого запроса. Я создаю его в Page_Load
и утилизирую его в Page_Unload
. Единственная проблема заключается в том, что при определенных обстоятельствах мне нужно позвонить Server.Transfer
, чтобы перенаправить на другую страницу aspx. В этом случае объект нельзя выгружать до тех пор, пока новая страница не будет готова к выгрузке. Каков наилучший способ добиться этого?Устранение объекта после запроса (возможно, перенаправленного)
1
A
ответ
0
Я решил эту проблему, позволив объекту владеть одной страницей за раз. Если бы я хотел отказаться от контроля со страницы, я бы установил ее равной нулю, а затем она не будет выпущена в деструкторе страницы.
0
создать собственный класс PageBase для всех ваших страниц asp.net, как указано ниже, и утилизировать CustomRequestContext на событиях Page_Load
и Page_Unload
.
/// <summary>
/// Base of front end web pages.
/// </summary>
public class PageBase : System.Web.UI.Page
{
/// <summary>
/// Initializes a new instance of the Page class.
/// </summary>
public Page()
{
this.Load += new EventHandler(this.Page_Load);
this.UnLoad += new EventHandler(this.Page_UnLoad);
}
/// <summary>
/// Page Load
/// </summary>
/// <param name="sender">sender as object</param>
/// <param name="e">Event arguments</param>
private void Page_Load(object sender, EventArgs e)
{
try
{
//Dispose the object here, assuming it is IDisposable.
//You can apply your own Disposition steps here..
CustomRequestContext.Dispose();
}
catch
{
//handle the situation gracefully here.
}
}
/// <summary>
/// Page UnLoad
/// </summary>
/// <param name="sender">sender as object</param>
/// <param name="e">Event arguments</param>
private void Page_UnLoad(object sender, EventArgs e)
{
try
{
//Dispose the object here, assuming it is IDisposable.
//You can apply your own Disposition steps here..
CustomRequestContext.Dispose();
}
catch
{
//handle the situation gracefully here.
}
}
}
Смежные вопросы
- 1. HttpWebRequest cookie для перенаправленного запроса
- 2. Устранение результата запроса LINQ
- 3. Доступ к переадресованному хосту из перенаправленного запроса
- 4. Получение перенаправленного адреса после URL.openConnection();
- 5. Как получить журналы MiniProfiler из перенаправленного запроса?
- 6. Устранение отложенного объекта после разрешения нескольких оставшихся отложенных объектов
- 7. Устранение объекта Java
- 8. Устранение условного запроса на сервер
- 9. Устранение связанного объекта в Ninject
- 10. Устранение объекта Mutex
- 11. Устранение экранного объекта автофокусом
- 12. Устранение объекта StringBuilder
- 13. Устранение объекта последовательного порта
- 14. C# Устранение ошибки сериализации объекта объекта
- 15. Устранение потенциальной утечки памяти объекта
- 16. Устранение возможно на уровне уровня
- 17. Cookie с перенаправленного сайта
- 18. Устранение объекта с запущенной задачей?
- 19. Устранение сбоя пакета в Android M после запроса разрешения READ_SMS
- 20. Устранение неисправностей divs с функцией .each() после запроса ajax?
- 21. Ошибка метеорных методов. Устранение объекта после обновления коллекции
- 22. Устранение объекта после пожара и завершение задачи завершено
- 23. Устранение запроса Sub в MySQL
- 24. Устранение неполадок динамического SQL-запроса
- 25. Устранение неполадок при выборе запроса
- 26. Получить окончательный URL-адрес перенаправленного запроса с нетрадиционной схемой
- 27. получить IP и HostName из запроса, перенаправленного через прокси
- 28. Получить оригинальный удаленный хост из запроса, перенаправленного балансиром нагрузки Apache
- 29. Устранение объекта, который используется повторно
- 30. Устранение отладки при создании объекта
Вы утилизируете его как при загрузке, так и при разгрузке. Является ли ваше предположение, что я должен просто повторно создать объект контекста, а не пытаться его сохранить? – Casebash
Nope. Я просто представил идею о том, как вы можете распоряжаться объектом по данным событиям. Это до вас, когда нужно удалить объект. –