"> آموزش کار با Elmah در ASP.NET و MVC + آموزش ویدئویی

آموزش کار با Elmah در ASP.NET و MVC + آموزش ویدئویی

Elmah

امروز در این مقاله میخواهیم در مورد Elmah صحبت کنیم ، اول اینکه بدونیم Elmah چیست و چه کاربردی هایی داره و چرا از آن استفاده میکنیم .

همیشه چه خوب میشد وقتی سایتمون دچار مشکل میشد یکی به ما خبر میداد که ، این بخش سایت این خط  کد سایت شما دچار مشکل شده است.

این ابزار برای ما این کارو میکند، یعنی میاد خطاهای سایت مارو در یک دیتابیس که از نوع SQLLite است در خودش ذخیره میکند ، حتی این امکان وجود دارد که ایمیل هم بزنه و خطارو اعلام کند.

یه توضیح کلی در رابطه با این ابزار بهتون دادم در اادمه میریم سراغ آموزش ، آموزش در ASP.NET و همچنین ASP.NET MVC به صورت مشابه است.همراه من در ادامه باشید.

روش نصب Elmah:

روش نصب بسیار ساده است.

این کار توسط Nuget امکان پذیر است ( برای استفاده نیاز به اینترنت دارید)  ، البته میتوانید فایل را به صورت آفلاین هم دانلود و نصب کنید.

نصب از طریق Nuget بهتر است ،زیرا  خودش میاد کد هایی که باید در webConfig قرار بگیرد ، قرار میدهد.

یک پروژه جدید ایجاد کنید و یک فرم روی صفحه بسازید.

باز هم تکرار میکنم هم میتوانید در MVC و ASP از این روش استفده کنید.

روی solution پروژه کلیک راست روی Nuget کلیک کنید.

Elmah

Elmah

از صفحه ای که باز شده جستجو میکنیم

Elmah

منتظر باشید تا مراحل نصب تموم بشه

Elmah

خوب نصب انجام شد و به پایان رسید.

بعد از اینکه مراحل را انجام دادید یک نگاهی به فایل web.config بندازید ، دیدید ؟ چه تغییراتی اضافه شده ؟

من کدشو براتون قرار دادم :

 configuration
  configSections
    sectionGroup name=elmah
      section name=security requirePermission=false type=Elmah.SecuritySectionHandler, Elmah /
      section name=errorLog requirePermission=false type=Elmah.ErrorLogSectionHandler, Elmah /
      section name=errorMail requirePermission=false type=Elmah.ErrorMailSectionHandler, Elmah /
      section name=errorFilter requirePermission=false type=Elmah.ErrorFilterSectionHandler, Elmah /
    /sectionGroup
  /configSections
  system.web
    compilation debug=true targetFramework=4.5 /
    httpRuntime targetFramework=4.5 /
  httpModules
      add name=ErrorLog type=Elmah.ErrorLogModule, Elmah /
      add name=ErrorMail type=Elmah.ErrorMailModule, Elmah /
      add name=ErrorFilter type=Elmah.ErrorFilterModule, Elmah /
    /httpModules/system.web
system.webServer
    validation validateIntegratedModeConfiguration=false /
    modules
      add name=ErrorLog type=Elmah.ErrorLogModule, Elmah preCondition=managedHandler /
      add name=ErrorMail type=Elmah.ErrorMailModule, Elmah preCondition=managedHandler /
      add name=ErrorFilter type=Elmah.ErrorFilterModule, Elmah preCondition=managedHandler /
    /modules
  /system.webServerelmah
    !--
        See http://code.google.com/p/elmah/wiki/SecuringErrorLogPages for 
        more information on remote access and securing ELMAH.
    --
    security allowRemoteAccess=false /
  /elmahlocation path=elmah.axd inheritInChildApplications=false
    system.web
      httpHandlers
        add verb=POST,GET,HEAD path=elmah.axd type=Elmah.ErrorLogPageFactory, Elmah /
      /httpHandlers
      !-- 
        See http://code.google.com/p/elmah/wiki/SecuringErrorLogPages for 
        more information on using ASP.NET authorization securing ELMAH.

      authorization
        allow roles=admin /
        deny users=* /  
      /authorization
      --  
    /system.web
    system.webServer
      handlers
        add name=ELMAH verb=POST,GET,HEAD path=elmah.axd type=Elmah.ErrorLogPageFactory, Elmah preCondition=integratedMode /
      /handlers
    /system.webServer
  /location/configuration

یه قسمتی تو کداتو هست به نام

location path=elmah.axd inheritInChildApplications=false

این مسیر نمایش ارور هاست یعنی میتونید ارور های که در سایت رخ میده رو بینید ، خب الان همه میتونن ببینن پس مدیر چه نقشی داره اینجا ؟

یه تیکه کد دیگه هست تو کد وب کانفیگتون که به صورت کامنت شدست یعنی غیر فعاله کد زیرو ببینید،همینه ؟

authorization
        allow roles=admin /
        deny users=* /  
      /authorization/

خوب الان باید نام Role که برای دسترسی در دیتابیس تعیین کردید را قرار بدید و این کد را از حالت کامنت در بیارید.خوب دیگه الانم فقط مدیر میتونه ببینه ، یه چندتا ارور بزنید به پروژه تون ( یه چیز کاملا طبیعی :D)

خوب الان برای ارسال ایمیل چه کاری باید انجام بدیم ؟

کار سختی نیست فقط کد های زیرو که براتون قرار دادم را در webconfig بالای تگ :

location path=elmah.axd inheritInChildApplications=false
قرار بدید.
security allowRemoteAccess=false /
errorMail from=EmailErsalKonnade to=EmailDaryafkonande
           async=true  /
/elmah
system.net
  mailSettings
    smtp deliveryMethod =Network
      network host=AdressSite userName=EmailErsalkonande   password=Password /
    /smtp
  /mailSettings
/system.net/

خوب دیگه کاره دیگه ای نداریم ، از ارور هاتون لذت ببرید 🙂 فایل هم ضمیمه کردم هرچند نیازی بهش نیست.

خوشحال میشم نظرات و سوال خودتونو مطرح کنید.

  • پسورد: www.mspsoft.com
مسعود شریفی پور

از سال 88 که با برنامه نویسی آشنا شدم خیلی علاقه مند بودم یک بستر آموزشی بسازم در فضای وب و به انتشار آموزش های در این زمینه بپردازم.حالا یک تیم داریم و با قدرت رو به جلو حرکت میکنیم.

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

    محمدی پاسخ

    ممنون استاد عالی بود
    از ارور هاتون لذت ببرید خیلی خوب بود

      مسعود شریفی پاسخ

      قربانه شما موفق باشید :)

    پیمان پاسخ

    سلام جناب شریفی ممنون بابت این مقاله ی خوب.
    چند تا سوال
    -اگه تو لوکال باشیم، قیلد host="AdressSite" رو چی وارد کنیم؟
    ونمیشه ک ارسال کننده و دریافت کننده کی باشه نه ؟ :) پس ی ایمیلی دیگه بسازم ک از اونب ایمیل خودم بفرسته؟
    و برای ارسال ایمیل تنظیمات ایگه ای مثل تنظیمات smtp.gmail.com لازمه؟

      مسعود شریفی پاسخ

      ادرس را خالی بزارید.
      اگر از ایمیل سایت استفاده کنید خیلی سادست.و نیازی به تنظیمات خاصی ندارید.