Programlanmış bir şekilde, bağlı olduğu bir etkinliğe üyelikten çıkmak istiyorum.Bu .NET olayına nasıl abone olabilirim?
EndRequest
olayına nasıl abone olduğumu öğrenmek istiyorum.
Satır içi kod kullandığımı düşünerek bunu nasıl yapacağımı bilmiyorum. (Bu doğru teknik terim midir?)
some.Event -= MethodName
aboneliğini iptal etmek için kullanabileceğimi biliyorum .. ama burada bir yöntem adı yok.
Satır içi kodu kullanmamın nedeni, olayın dışında tanımlı bir değişkene başvurmak istediğim içindir (bunun için gerekli olanı .. ama kokulu hissederim ... bunu iletmem gerektiğini hissediyorum).
Herhangi bir öneriniz var mı?
Kod zamanı ..
Bu beniASP.NET
uygulamada hatalarını işlemek için ben, yalnızca bazı örnek kod
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)
{ ... }
.
Not: Lütfen bunu ASP.NET hata işleme hakkında bir tartışmaya dönüştürmeyin. Sadece olaylarla uğraşıyorum ve bu olayları bazı örnek R & D/öğrenim için kullanıyorum.
teknik olarak yapabildin: 'httpApplication.EndRequest = null' ama bu ** herşeyi abonelikten olur **. – CodingGorilla
+1 bunu yapmanın yolu. – Joe
Awesome :) Çalışıyor! Eh .. kod mükemmel ama kullanımım yanlış. LifeCycle başlatma işleminden bir olaydan çıkmayı deniyorum. Bu şekilde, ASP.NET çerçevesi "bu olayları başlangıç adımından sonra değiştiremez" diyerek kötü bir hata atar. Doh! –