转:http://write.blog.csdn.net/postedit

Elmah是一个开源的组件,用来记录web应用程序的error。如果你还不了解它,请先去官方网站。 它通用对Http Modules和 Http Handlers编程实现的。
这里我们配制它自动发mail到你的Gmail邮箱。
         首先,我们在VS2010中安装NuGet,如下图:

         然后在项目Reference上点击右键,有如下Menu:

查找Elmah项目,然后Install

你还可以使用PowerShell按制台来Install,这样打开:

然后在命令行输入:

Install-Package elmah


 

将Output:
PM> Install-Package elmah
Successfully installed 'elmah 1.1'
Successfully added 'elmah 1.1' to MainWeb
以上两种方式都可以,你可以任选其一。这时你可能注意要你的web.config文件已被自动修改,项目引用了elmah的程序集。
<sectionGroup name="elmah">
 <sectionname="security"requirePermission="false"type="Elmah.SecuritySectionHandler, Elmah"/>
 <sectionname="errorLog"requirePermission="false"type="Elmah.ErrorLogSectionHandler, Elmah"/>
 <sectionname="errorMail"requirePermission="false"type="Elmah.ErrorMailSectionHandler, Elmah"/>
 <sectionname="errorFilter"requirePermission="false"type="Elmah.ErrorFilterSectionHandler, Elmah"/>
</sectionGroup>
<httpModules>
 <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
</httpModules>
<httpHandlers>
 <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/>
</httpHandlers>

这时让我们来配制使用Gmail,增加配制节如下:
<elmah>
 <securityallowRemoteAccess="0"/>
 <errorMail from="yourname@gmail.com" to="yourname@gmail.com" subject="error log test" priority="High" async="false"
 smtpPort="587" smtpServer="smtp.gmail.com" useSsl="true" noYsod="false" userName="yourname" password="yourpwd"/>
</elmah>

Gmail使用587的端口,使用ssl。然后你还需要修改这个配制在web.config中。
<httpModules><addname="ErrorMail"type="Elmah.ErrorMailModule, Elmah"/>
<addname="ErrorLog"type="Elmah.ErrorLogModule, Elmah"/>
</httpModules>
<system.webServer>
 <modules runAllManagedModulesForAllRequests="true">
  <addname="ErrorMail"type="Elmah.ErrorMailModule, Elmah"/>
  <addname="ErrorLog"type="Elmah.ErrorLogModule, Elmah"/>
 </modules>
 <validationvalidateIntegratedModeConfiguration="false"/>
 <handlers>
  <addname="Elmah"verb="POST,GET,HEAD"path="elmah.axd"type="Elmah.ErrorLogPageFactory, Elmah"/>
 </handlers>
</system.webServer>
好了,这时让我们来做个测试,在任意Page中,然后运动这个Page
1:  protectedvoid Page_Load(object sender, EventArgs e)
2:          {   3:  thrownew ArgumentException("Test");   4:          }
这时你去查看你的Gmail邮箱,就有这样的邮件了:


     希望对您开发有帮助。

posted on 2013-01-12 19:56  jackljf  阅读(165)  评论(0编辑  收藏  举报