Как я могу отказаться от подписки на это событие .NET?

Я хочу программно отказаться от подписки на событие, которое было подключено.

Я хочу знать, как я могу отказаться от подписки на событие 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. Я просто играю с событиями и использую эти события для некоторых образцов исследований и разработок/обучения.

8
задан Pure.Krome 19 June 2012 в 01:13
поделиться