Я хочу программно отказаться от подписки на событие, которое было подключено.
Я хочу знать, как я могу отказаться от подписки на событие EndRequest
.
Я не знаю, как это сделать, учитывая, что я использую встроенный код. (это правильный технический термин?)
Я знаю, что могу использовать some.Event -= MethodName
для отмены подписки.. но у меня нет имени метода, здесь.
Причина, по которой я использую встроенный код, заключается в том, что я хочу сослаться на переменную, определенную вне события (которое мне требовалось... но кажется вонючим... я чувствую, что мне нужно передать ее).
Есть предложения?
Время написания кода..
public void Init(HttpApplication httpApplication)
{
httpApplication.EndRequest += (sender, e) =>
{
if (some logic)
HandleCustomErrors(httpApplication, sender, e,
(HttpStatusCode)httpApplication.Response.StatusCode);
};
httpApplication.Error += (sender, e) =>
HandleCustomErrors(httpApplication, sender, e);
}
private static void HandleCustomErrors(HttpApplication httpApplication,
object sender, EventArgs e,
HttpStatusCode httpStatusCode =
HttpStatusCode.InternalServerError)
{ ... }
Это всего лишь пример кода, который у меня есть для обработки ошибок в приложении ASP.NET
.
ПРИМЕЧАНИЕ. Не превращайте это в обсуждение обработки ошибок ASP.NET. Я просто играю с событиями и использую эти события для некоторых образцов исследований и разработок/обучения.