ASP.Net 2.0提供了Health Monitoring讓你只要透過設定檔就可以將錯誤記錄下來,
.Net 2.0開始使用大量的provider modal,
而Health Monitoring也不例外,
它提供了六個provider: 

  • SimpleMailWebEventProvider. 發信通知您錯誤事件. 
  • TemplatedMailWebEventProvider. 同樣是發信,不過你可以使用模版來設定信件的畫面格式. 
  • SqlWebEventProvider. 將錯誤紀錄到SQL資料庫中,如果要使用這個provider,你需要先使用”aspnet_regsql.exe -E -S <ServerName> -A w “建立資料結構,然後再用Aspnet_regiis.exe將web.config中的連線字串加密. 
  • EventLogWebEventProvider. 將錯誤事件記錄到事件檢視器中. 
  • TraceWebEventProvider. 將事件記錄在ASP.NET trace messages. 
  • WmiWebEventProvider. 將ASP.Net health monitoring事件整合到Windows Management Instrumentation (WMI) events.

相關詳細說明請點選下面這篇:
How To: Use Health Monitoring in ASP.NET 2.0
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/paght000011.asp

再來,立即來設定一下如何使用SimpleMailWebEventProvider
將下面的設定整合到你的web.config

<configuration>
   <system.web>
      <trace enabled=”true” localOnly=”false” />

      <healthMonitoring enabled=”true”>
         <providers>
            <add name=”EmailProvider”
               type=”System.Web.Management.SimpleMailWebEventProvider”
               from=”yourname@domain.com
               to=”yourname@domain.com
               subjectPrefix=”網站程式錯誤通知 : ”
               bodyHeader=”網站程式錯誤列表”
               buffer=”true”
               bufferMode=”Notification” />
         </providers>
         <rules>
            <add provider=”EmailProvider” name=”All App Events” eventName=”All Errors” />
         </rules>
      </healthMonitoring>
   </system.web>
   <system.net>
      <mailSettings>
         <smtp from=”you@domain.com“>
            <network host=”smtp.domain.com” />
         </smtp>
      </mailSettings>
   </system.net>
</configuration>

以上…就完成了使用Email通知錯誤的功能了!!
真的是很簡單…
而且,你不用擔心一有錯誤信箱就被塞滿,
因為他預設一分鐘會寄一封信,將這一分鐘內發生的錯誤列在這封信中,
另外.預設的信件大小是1,024KB,
所以也不用擔心信件檔案過大,收不下來…
而這些也都可以修改web.config來做調整!!
不過有一點要提的是…如果有錯誤記得要先解決,
不然信箱還是有可能被塞爆的…