شنبه ۶ خرداد ۱۳۹۶
 
 
 
کلمه عبور خود را فراموش کرده اید؟
 

 
 
 مدیریت خطاها در ASP.NET به کمک ELMAH
ASP.NET
تاریخ ثبت:  ۹۲/۶/۲۴
تعداد نمایش:  ۸۵۳۰
  نویسنده: پورداد دانشمند
 
   ۹  نفر تا این لحظه به این مقاله امتیاز داده اند.
 
   Bookmark and Share

ثبت خطاها در پروژه های ASP.NET با کتابخانه رایگان و Open Source به نام ELMAH :

در این مقاله قصد داریم به معرفی ELMAH بپردازیم. پروژه ELMAH یکی از پروژه های Open Source مرتبط با .NET است که می توان اسم آن را در لیست نرم افزار های Open Source در لینک زیر مشاهده نمود :

ASP.NET Open Source Project

همچنین لینک اصلی نرم افزار :

ELMAH Site

ELMAH در واقع برای ثبت خطا هایی است که برنامه نویس در کد هایش از Exception Handling مناسبی برای متد ها ( مثل متد های بازگشتی داده از دیتا بیس) استفاده نکرده است . شاید خیلی از مواقع پیش آمده است که در ASP.NET Web Application ها در قسمت هایی که نیاز به بازگشت داده از دیتابیس بر اساس یک پارامتر ورودی است با خطای معروف :

Error: Sequence contains no elements

مواجه شده ایم. در این موقع ELMAH با ثبت خطا در دیتابیس با موارد زیر اقدام می نماید :

1 - خطا مربوط به کدام صفحه است و در چه Line Number اتفاق افتاده است.
2- تاریخ رخداد
3- سیستم مورد نظر
4- اطلاعات کامل از روند اتفاق افتادن خطا ( دقیقا مثل موقعی که خطا ها را Trace می نماییم)

شاید با خواندن این مطلب و نگاه به کاربرد ELMAH بگوییم تمام این کار ها را Log4Net هم میتواند انجام دهد. هم می تواند به دیتابیس متصل شود و هم تمامی خطا ها و یا رخداد ها را ثبت نماید , اما باید دقت کرد ELMAH می تواند اطلاعات جزیی تری از خطای رخ داده شده را ثبت نماید .
همچنین ELMAH دارای Extension های بسیار زیادی از جمله Email است که می تواند لیستی از خطای رخ داده شده را نمایش دهد.


نحوه نصب ELMAH :

برای نصب ELMAH یک پروژه ASP.NET Web Application  و یا ASP.NET MVC بسازید.سپس از طریق Nuget Package Manager کلمه ELMAH را جستجو نمایید و مطابق شکل گزینه را انتخاب نموده و نصب نمایید تا Reference مربوط به ELMAH به پروژه اضافه شود .




همچنین بعد از نصب تغییراتی در فایل web.config ایجاد می گردد .
برای مشاهده اینکه آیا ELMAH به درستی نصب گردیده است , کافیست پروژه را اجرا نموده و آدرس زیر را وارد نمایید , مطابق شکل :

نکته : نحوه دسترسی به ELMAH :
http://localhost:3310/WebSite3/elmah.axd



نحوه اتصال ELMAH به دیتابیس :
وقتی ELMAH را از Neuget نصب می نمایید , ELMAH به صورت پیش فرض بر روی دیتابیس قرار ندارد و باید تنظیمات آن را مطابق موارد زیر انجام دهید :

دانلود اسکریپت های ELMAH که می توانید از سایت ELMAH دانلود نمایید و یا آن را از لینک زیر دانلود نمایید :

دانلود اسکریپت ها

جداول و Store Procedure ها ایجاد نموده و مطابق با آن یک connectionstring در web.config به آن اختصاص دهید . سپس موارد زیر را به web.config اضافه نمایید :


<elmah>
    </ errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="ErrorLog" >
    </ security allowRemoteAccess="false">
</elmah>

همانطور که مشاهده می نمایید , این موارد پس از EndTag مربوط به <system.webServer/> اضافه می شود و نام connectionstring شما در این قسمت با توجه به تعریف شما مشخص می شود.

پایان

سخن پایانی :

شاید پروژه ELMAH پروژه کوچکی باشد اما با توجه به OpenSource بودن آن می تواند رشد بسیار خوبی داشته باشد.با توجه به رشد روزافزرون دنیای OpenSource و همچنین فرم ورک هایی مثل دات نت که از سال 2010 به بعد بسیار خلاقانه تر دنبال شد , می توانیم در همین دنیای دات نت که OpenSource نیست با استفاده از پروژه هایی مثل ELMAH ترکیبی از دنیای OpenSource و فریم ورک هایی مثل دات نت ایجاد کنیم . پروژه هایی مثل Dapper , BLToolkit,Petapoco که رقیب های جدی EntityFramework هستند و در حال حاظر از نظر قدرت و کارایی عملا پروژهایی مثل Nhibernate را کنار زدند و در حال رقابت با EF هستند که البته EF در نسخه های 5 و 6 فاصله را زیاد کرده اما همچنان رقیب های سرسختی هستند , دوستان در دنیای برنامه نویسی باید از همه پتانسیل ها استفاده نمود . به هر حال پروژه های بسیار خوب دیگری مثل Ext.NET در جریان است که رشد بسیار خوبی برخوردار است و نقطه قوت این پروژه در نظر گرفتن MVC و همچنین Webform هاست که اگر بشود در مقالات بعدی به آموزش قسمتی از Ext.NET می پردازیم .

  کیفیت مقاله ارائه شده از نظر شما   
برای دادن رتبه به این مقاله می بایست Login کرده باشید.
  درباره نویسنده
پورداد دانشمند
همه مقاله های نوشته شده توسط این کاربر (۱)
 
  پیام جدید
صفحه ۱ - پیامهای اصلی ۱ تا ۵ از مجموع ۵ پیام اصلی
اولین قبلی بعدی

 عنوان فرستنده تاریخ
 
تشكر مجید سامانی ۱۳۹۵/۸/۱۰
 
تشکر طراحی وب سایت نونگاز ۱۳۹۵/۳/۲۵
 
تشکر عاطفه عاطفه ۱۳۹۴/۱۲/۲۶
 
php پیمام اسدی ۱۳۹۴/۴/۱۳
 
آموزش طراحی یه قالب سایت شامل هدر و فوترو کانتینر رها امیر ۱۳۹۲/۶/۲۴
پاسخ به: آموزش طراحی یه قالب سایت شامل هدر و فوترو کانتینر پورداد دانشمند ۱۳۹۲/۶/۲۵
پاسخ به: آموزش طراحی یه قالب سایت شامل هدر و فوترو کانتینر رها امیر ۱۳۹۲/۷/۱۳
پاسخ به: آموزش طراحی یه قالب سایت شامل هدر و فوترو کانتینر پورداد دانشمند ۱۳۹۲/۷/۱۳
اولین قبلی بعدی

Copyright © 2006 - 2016 All Rights Reserved.
Please direct your questions or comments to