标签: elmah

Elmah.MVC vs. Elmah.contrib.Mvc

我是ASP.NET MVC的新手,我正在寻找最简单的方法来设置全局错误处理,记录和报告(通过电子邮件).仅供参考,我的ASP.NET MVC应用程序作为Azure中的Web角色托管,但我试图避免使用任何特定于Azure的钩子.

看起来安装和配置ELMAH是一个很好的第一步.

当我看着NuGet时,我看到:

  • ELMAH("ELMAH初始配置为快速入门......")
  • Elmah.Contrib.Mvc("......旨在增加MVC项目中的易用性......")
  • Elmah.MVC("......无痛地融入MVC ......")

我想安装以下哪些软件包?

编辑:经过一些实验,我更困惑.在默认的MVC 4应用程序之上安装了三个选项之后,我比较了项目文件.似乎Elmah.Contrib.Mvc和Elmah.MVC都没有添加elmah.1.2.2包(我在安装基本ELMAH时得到).此外,两个包都不会将该<elmah>部分添加到Web.config.

那么......我是否需要首先安装ELMAH,然后安装一个"... MVC"软件包来获得他们可能得到的任何漂亮的改进?

asp.net-mvc elmah

19
推荐指数
1
解决办法
6023
查看次数

Elmah报告了不需要的404错误

我正在使用Elmah登录ASP.NET MVC项目,并且我收到了一些路径/prx2.php的404错误,而这些路径又将散列作为查询字符串参数传递.

我认为这是一个试图找到漏洞的扫描仪.因为我没有运行PHP,所以我很安全!但是,我想阻止ELmah报告此错误.

什么是在不实际创建/prx2.php页面的情况下排除这些类型的错误的最佳方法.我也想在配置文件中执行此操作,而不是按步骤执行此操作.

有任何想法吗?

logging elmah http-status-code-404

18
推荐指数
1
解决办法
6354
查看次数

远程主机关闭连接错误,怎么修复?

我在我的项目中使用elmah - > Elmah.axd来查找错误.
有这样的错误:

System.Web.HttpException: The remote host closed the connection. The error code is 0x800703E3.
Generated: Sun, 27 Nov 2011 13:06:13 GMT

System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Web.HttpException (0x800703E3): The remote host closed the connection. The error code is 0x800703E3.
   at System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 result, Boolean throwOnDisconnect)
   at System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush()
   at System.Web.HttpResponse.Flush(Boolean finalFlush)
   at System.Web.HttpWriter.TransmitFile(String filename, Int64 offset, Int64 size, Boolean isImpersonating, Boolean supportsLongTransmitFile)
   at System.Web.HttpResponse.TransmitFile(String filename, Int64 offset, Int64 length)
   at SalarSoft.Utility.SP1.ResumeDownload.ProcessDownload(String fileName, String …
Run Code Online (Sandbox Code Playgroud)

c# asp.net elmah windows-server-2008-r2

18
推荐指数
2
解决办法
6万
查看次数

在Azure Web角色上部署PDB

我有一个通过VS 2012 Azure项目部署的项目(从VS的右侧,而不是手动).Web角色项目设置为在发布模式下构建"仅pdb"调试信息,但是部署PDB时未打包并复制到Azure上的Web角色VM.如何让PDB包含在包中并传输到服务器?

我想在生产中包含我的PDB的原因是因为我想在我的ELMAH报告中获取行号.

elmah azure azure-web-roles azure-packaging

18
推荐指数
1
解决办法
1303
查看次数

Elmah vs Elmah.MVC Nuget Package - 使用哪个以及为什么?

我有Code First MVC 4应用程序.

我尝试安装NuGet软件包来记录Elmah - 一切似乎都运行正常 - 错误报告很好 http://myapp/elmah.axd

然后我注意到有一个Elmah.MVC包 - 所以我删除了原来的一个,并安装了它.它不再在这里工作:http://myapp/elmah.axd

我在一些地方读过,对于MVC应用程序,你应该使用'Elmah.MVC'软件包 - 而不是'Elmah'软件包 - 但为什么会这样呢?实际差异是什么?MVC 4网站仍然如此吗?

奇怪的是原始包装开箱即用,而MVC则没有.

我应该使用哪个以及为什么?

asp.net asp.net-mvc elmah asp.net-mvc-4 elmah.mvc

18
推荐指数
1
解决办法
1万
查看次数

ELMAH在ASP.NET vNext上?

是否可以使用ASP.NET vNext配置ELMAH?如果是这样,怎么样?

鉴于甚至没有web.config,我甚至开始迷失.如果有人有或可以弄清楚,请与我们分享.

谢谢

elmah elmah.mvc asp.net-core

18
推荐指数
1
解决办法
2759
查看次数

我怎样才能模仿Elmah的ErrorSignal例程?

我们使用ELMAH处理ASP.Net MVC c#应用程序中的错误,在我们捕获的异常中,我们正在做这样的事情:

ErrorSignal.FromCurrentContext().Raise(exception);
Run Code Online (Sandbox Code Playgroud)

但是当我尝试对捕获的异常进行单元测试时,我得到以下消息:

System.ArgumentNullException: Value cannot be null.
Parameter name: context
Run Code Online (Sandbox Code Playgroud)

如何模拟FromCurrentContext()调用?我还应该做些什么呢?

仅供参考......我们目前正在使用Moq和RhinoMocks.

谢谢!

c# asp.net-mvc elmah mocking

17
推荐指数
1
解决办法
2693
查看次数

使用Elmah以编程方式记录错误:记录特定信息

我在try-catch块中记录了Elmah的错误.这是代码;

try {
    DateTime.Parse("poo");
} catch (Exception err) {

    Elmah.ErrorSignal.FromCurrentContext().Raise(err);
}
Run Code Online (Sandbox Code Playgroud)

我想记录一些特定信息,例如可以从先前方法或属性在同一上下文中检索的一些信息,但Exception属性是只读的.最好的方法是什么?

我的主要目标是能够做类似下面的事情;

} catch (Exception err) {
    err.Message += "poo";
    Elmah.ErrorSignal.FromCurrentContext().Raise(err);
}
Run Code Online (Sandbox Code Playgroud)

.net asp.net elmah exception-handling exception

17
推荐指数
1
解决办法
5487
查看次数

ASP.NET MVC - Elmah无法工作并返回elmah.axd的404页面

我正在尝试将elmah用于我的MVC应用程序,并且我已按照wiki上的步骤操作:http://code.google.com/p/elmah/wiki/MVC,但在尝试访问myapp/elmah时仍然如此.axd页面:

404 - 找不到文件或目录.

有人可以帮我吗?

OBS:我的IIS版本是7.5


如果有帮助我发布我的web.config的相关部分:

<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>
...
</connectionStrings>
<elmah>
  <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />
</elmah>
<system.web>
...
<httpHandlers>
  <remove verb="*" path="*.asmx" />
  <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc elmah http-status-code-404

16
推荐指数
2
解决办法
1万
查看次数

如何使用Windows集成安全性在ASP.Net MVC 4上保护Elmah:Elmah忽略了我的设置

我已将elmah添加到asp.net mvc 4应用程序中.日志记录正在运行,现在我正在尝试配置安全性,但elmah没有获取设置,所有用户仍然可以看到日志.

这是一个内部网应用程序,因此我们使用windows集成secuirty.我正在尝试限制访问权限,以便只有domain\log_readers广告组的成员才能读取日志.

我在这里阅读了设置指南:http://code.google.com/p/elmah/wiki/SecuringErrorLogPages,我还阅读了SO和其他论坛上的几篇帖子,这些帖子让我添加了roleManager和WindowsRoleProvider配置一切都无济于事.

这是我的web.config的elmah部分:

<elmah>
<!--
    See http://code.google.com/p/elmah/wiki/SecuringErrorLogPages for 
    more information on remote access and securing ELMAH.
-->
<security allowRemoteAccess="true" />
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/Logs" />  
</elmah>
<location path="elmah.axd" inheritInChildApplications="false">
<system.web>
  <authentication mode="Windows" />

  <roleManager defaultProvider="WindowsProvider"
      enabled="true" cacheRolesInCookie="false">
    <providers>
      <add
        name="WindowsProvider"
        type="System.Web.Security.WindowsTokenRoleProvider" />
    </providers>
  </roleManager>
  <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="domain\log_readers"/>
    <deny users="*" />
  </authorization>

</system.web> …
Run Code Online (Sandbox Code Playgroud)

.net asp.net security asp.net-mvc elmah

16
推荐指数
1
解决办法
9729
查看次数