مدیریت خطا بوسیله web.config

Error   یکی از توصیه هایی که عموما به دانشجوهام دارم، اینه که از کدهای نمونه مایکروسافت که معروف ترینشون هم Enterprise Library  حداکثر استفاده رو جهت یادگیری هرچه بهتر برنامه نویسی اصولی ببرن. چیزی که به کرات در نرم افزارهای وب بیس دیدم، حتی نرم افزارهایی که توسط تیم های به اصطلاح نرم افزاری و متخصص شرکت های به اصطلاح نرم افزاری نوشته میشه اینه که مدیریت خطاها یا Exception Handling رو به هیچ وجه مدنظر قرار نمی دهند.

یکی از کمک هایی که Enterprise Library به ما می کنه اینه که در نرم افزارها و خصوصا نرم افزارهای وب بیس مدیریت خطا رو با چند خط کد، به شکل خوبی بهینه کنیم. چجوری ؟
کافیه تا با استفاده از namespace های زیر یه کلاس بنویسید که خطا رو ریدایرکت کنه به توابع E.L و بعد تو web.config تغییرات لازم که در زیر خواهم نوشت اعمال کنید… اگر اینقدر مختصر نوشتم چون یکی دو تا از دانشجویان دیروز و اعضای امروز NET Solutions. پرسیده بودن و ثانیا به دلایلی که در پست قبل ذکر کردم حوصله ی هیچی رو ندارم!

Microsoft.Practices.EnterpriseLibrary.Common.Configuration
Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration

web.config Attributes :

   1: <configuration>
   2: <configSections>
   3:  <section name="exceptionHandling" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
   4: configSections>
   5:  <exceptionHandling>
   6:   <exceptionPolicies>
   7:   <add name="General Policy">
   8:   <exceptionTypes>
   9:   <add type="System.Data.SqlClient.SqlException, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
  10:    postHandlingAction="None" name="SqlException">
  11:   <exceptionHandlers>
  12:    <add url="~/ErrorPage/DatabaseFailed.aspx" type="ErrorHandling.CustomExcepetion, ErrorHandling, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
  13:     name="Custom Handler" />
  14:     exceptionHandlers>
  15:      add>
  16:     <add type="System.Net.WebException, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
  17:      postHandlingAction="None" name="WebException">
  18:      <exceptionHandlers>
  19:      <add url="~/ErrorPage/RemoteServerFailure.aspx" type="ErrorHandling.CustomExcepetion, ErrorHandling, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
  20:        name="Custom Handler" />
  21:       exceptionHandlers>
  22:       add>
  23:       <add type="System.TimeoutException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
  24:       postHandlingAction="None" name="TimeoutException">
  25:        <exceptionHandlers>
  26:        <add url="~/ErrorPage/DatabaseFailed.aspx" type="ErrorHandling.CustomExcepetion, ErrorHandling, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
  27:         name="Custom Handler" />
  28:             exceptionHandlers>
  29:           add>
  30:         exceptionTypes>
  31:       add>
  32:     exceptionPolicies>
  33:   exceptionHandling>

دیدگاهتان را بنویسید