۱۳۸۹/۱۱/۰۹

ثبت استثناهاي مديريت شده توسط ELMAH


در مورد ELMAH پيشتر مطالبي در اين سايت منتشر شده است:

از آن مي‌توان جهت ثبت استثناهاي مديريت نشده در انواع و اقسام برنامه‌هاي وب دات نتي استفاده كرد. از برنامه‌هاي ASP.NET Webforms ، ASP.NET MVC تا سرويس‌هاي WCF ، WCF RIA و غيره. سپس اين Http module ويژه امكان مرور خطاهاي ثبت شده را از راه دور ميسر مي‌سازد، به همراه فيد RSS از خطاها، امكان مشاهده‌ي مقادير فيلدها در لحظه‌ي بروز خطا، ارسال ايميل خطاها و امكان ذخيره سازي آن‌ها در فايل‌هاي XML تا انواع بانك‌هاي اطلاعاتي.
براي نمونه، سايت Stackoverflow از يك نمونه‌ي سفارشي شده‌ي آن استفاده مي‌كند (+).

همانطور كه در اين معرفي آمده است : ثبت استثناهاي "مديريت نشده". اما آيا امكان ثبت استثناهاي مديريت شده هم توسط آن وجود دارد؟
پاسخ: بله. به صورت زير:
...
}
catch (Exception ex)
{
Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
...
فقط كافي است ارجاعي به اسمبلي ELMAH اضافه شود و از سطر فوق استفاده گردد. به اين صورت خروجي شبيه به همان خطاهاي مديريت نشده در ليست خطاهاي ثبت شده توسط ELMAH ظاهر خواهد شد.