问题标签 [elmah]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
24457 浏览

http - utmscr 或 utmcct 值在引用 Http cookie 服务器变量时意味着什么?

utmscr和/或utmcct值在引用 Http cookie 服务器变量时意味着什么它们是首字母缩略词还是缩写?

我们收到标题为“System.Web.HttpException:无法验证数据”的 Elmah 错误。在每个 Elmah 错误消息中,Http Cookie 服务器变量值包含一个名为utmscr的属性,该属性设置为同一网站,utmcct设置为该网站的页面。这是 Elmah 服务器变量转储中 Http Cookie 值的一部分。

utmccn=(推荐)| utmcsr=someWebSite.com|utmcct=/someWebPage.htm |utmcmd= referral; CP=空*;

someWebpage.htm 页面确实存在于 someWebsite.com,但目前没有对我们页面的引用。我们认为错误与视图状态有关。有什么想法吗?谢谢!

0 投票
4 回答
1899 浏览

sharepoint - 是否可以在 SharePoint 环境中使用 ELMAH?

有没有人将ELMAH集成到他们的 SharePoint 环境中?

我想这是可能的,因为它都是 ASP.net,但我只是想知道是否有人做过,是否有关于如何实现它的演练?

0 投票
7 回答
26838 浏览

.net - Using ELMAH in a console application

I just started using ELMAH and am a fan. My team supports a large number of web applications and I'm particularly excited that ELMAH lets us save exceptions from each application to the same MS SQL database table.

We also support a few console, DLL and desktop applications. Is it possible to use the ELMAH DLL to log exceptions in these apps to that same location?

0 投票
2 回答
1099 浏览

asp.net - VS2008 Web 部署项目部分替换为 Elmah

我正在使用一个 Web 部署项目,并希望用 emlah/errorMail 部分替换一些部分。我不想在调试构建模式下发送电子邮件。

我创建了自定义部分并将其放入 errorMail.config 中。在替换下的 web 部署项目的属性中,我有 elmah/errorMail=errorMail.config。

我得到的错误是为 elmah/errorMail 创建配置节处理程序时发生错误:无法加载文件或程序集“Elmah”或其依赖项之一。该系统找不到指定的文件。

我猜这是因为 Elmah 不在 GAC 中,或者它不是我的项目之一。Elmah.dll 文件确实可以复制到 output\bin 文件夹中。

有没有办法让部分替换与第 3 方 dll 一起使用?

[编辑]

我发现如果我将有问题的 dll 放入 Web 部署项目的项目文件夹中,它会正常工作。这不是最佳的。

所以现在我的问题是,我怎样才能让它工作而不必将 dll 放入 GAC 或将 dll 复制到 Web 部署项目文件夹中?

0 投票
5 回答
6955 浏览

asp.net - Elmah - ASP.NET -> 多个连接字符串 -> 在代码中设置 SQL 错误日志连接字符串

我希望将ELMAH集成到现有的 ASP.NET 应用程序中,以进一步支持错误调查,并可以使用连接字符串的一些帮助。我们为部署应用程序的所有环境或我们的环境使用单个 web.config 文件,并且在运行时,应用程序通常根据 URL 决定它所在的环境。

这就是我们想要的标准块...

使用 Elmah,您似乎只需要指定连接字符串的名称,但是如何在运行时动态地执行此操作?例如,如果我正在测试,那么我想要这个:

但如果我在 PROD:

编辑
Web 应用程序的部署实践远远超出了我想要做的范围。我需要一个代码解决方案,允许我更改 ELMAH Sql 错误日志的数据源...

我无法改变我们今天部署 Web 应用程序的方式。这意味着,无论 TEST 是什么,都会转移到 CERT。CERT 中的内容移至 PROD。Web 应用程序必须能够确定它所在的环境并运行...

0 投票
2 回答
1641 浏览

.net - 帮助:使用 SQLIte 发现同一依赖程序集的不同版本之间存在冲突

我的一个项目使用引用 SQLite 的 Elmah。Elmah 是针对 .Net 版本 1.0.44.0 的 SQLite 构建的

好吧,我正在试验一些 64 位的东西(我的开发盒是 32 位的),所以我需要 .Net 的 64 位版本的 SQLite。我抓住了它的最新版本(当时是 1.0.51.0)并使用他们的安装程序来安装它。对于我的 32 位项目,我更新了对 System.Data.SQLite 的引用以指向较新的版本。一旦我意识到我的错误,我就卸载了它并获取了适当的原始版本,并将我的参考指向 1.0.44.0

现在,当我构建时,我收到有关同一依赖程序集的不同版本的警告。单击它会询问我是否希望它编辑我的 app.config 并插入以下内容:

嗯..我的系统上没有安装或存在 1.0.51.0 了!冲突在哪里?为什么视觉工作室认为它存在于某个地方?我在 GAC 中进行了检查,发现任何地方都没有 System.Data.SQLite。

我想摆脱这个烦人的警告。我在同一个解决方案中有另一个项目也引用了 SQLite,但我从未更新对较新版本的引用(并且随后从未将引用更改回来)..它一直引用 1.0.44.0。该项目根本没有抱怨......

0 投票
6 回答
19604 浏览

asp.net - 使用 ELMAH 的 WCF 服务的异常日志记录

我们正在使用出色的ELMAH来处理 ASP.NET 3.5 Web 应用程序中未处理的异常。除了使用 REST 功能使用的 WCF 服务之外,这对于所有站点都非常有效。当应用程序代码未处理的操作方法中发生异常时,WCF 会根据服务协定和配置设置以各种方式处理它。这意味着异常不会最终触发ELMAH使用的 ASP.NET HttpApplication.Error 事件。我知道解决这个问题的两个解决方案是:

  • 将所有方法调用包装在 try { } catch(Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); 扔; } 在 catch 块中显式调用 Elmah。
  • 使用Will Hughes 的博客文章使 WCF 和 ELMAH 很好地协同工作中所述的IErrorHandler将对 ELMAH 的调用分解为单独的 ErrorHandler。

第一个选项非常简单,但并不完全是DRY。第二个选项只需要你在实现属性和ErrorHandler之后用自定义属性来装饰每个服务。我是根据Will 的工作完成的,但我想在发布代码之前验证这是正确的方法。

我错过了更好的方法吗?

IErrorHandler的 MSDN 文档说HandleError方法是进行日志记录的地方,但ELMAH访问 HttpContext.Current。ApplicationInstance,即使 HttpContext.Current 可用,在此方法中也为 null。在 ProvideFault 方法中调用 Elmah 是一种解决方法,因为 ApplicationInstance 已设置,但这与 API 文档中描述的意图不匹配。我在这里错过了什么吗?该文档确实声明您不应依赖在操作线程上调用的 HandleError 方法,这可能是 ApplicationInstance 在此范围内为 null 的原因。

0 投票
4 回答
4991 浏览

c# - 在异常期间捕获原始 HTTP POST 数据

我有一个托管在 IIS/ASP.NET 中的 WCF 服务,它接受序列化对象的 HTTP Post(而不是表单 post)。

如果客户端发送格式错误的请求(例如,它们没有正确序列化对象),我想记录发送的消息。

我们已经在使用 ELMAH 来捕获未处理的异常,因此简单地附加发布数据将是最简单的选择。

我可以在异常期间获取当前的 HttpContext,但这仅包含 HTTP 标头信息。

我的问题是:有什么方法可以捕获原始的 HTTP POST 请求正文吗?或者,失败了 - 捕获导致错误的输入的更好方法(没有反向代理)?

编辑:只是为了澄清,始终运行数据包级捕获并不适合。我正在寻找一个可以部署到生产服务器的解决方案,该解决方案将使客户端超出我们的控制或监控能力。

编辑#2:建议访问 Request.InputStream - 如果您在 WCF 从流中读取请求后尝试读取,这将不起作用。

一个示例代码,看看我是如何尝试使用它的。

log.ToString() 的输出是:

0 投票
2 回答
900 浏览

c# - 客户端 - 服务器架构中的异常处理

我有一个项目,由一个 Windows 客户端(大约 150 个用户)、一个 Web 服务和一些 Windows 服务组成。所有人都在 Intranet 中工作并使用 C# .NET 3.5 构建。现在我想在中央数据库中记录异常并通过 Web 应用程序管理它们(观看前 10 名、票务系统等)。

我考虑过使用和扩展 ELMAH,因为它已经有一个用于管理的 Web 应用程序。也许为客户创建一个网络服务来记录他们的异常。

这是个好主意吗,因为 ELMAH 显然只适用于 asp.net 网站。

我知道异常管理应用程序块,但据我所知,它没有像 ELMAH 这样的管理应用程序,而且我上次访问 Enterprise Library 并不有趣。

你有什么看法,还有其他想法吗?

0 投票
1 回答
872 浏览

javascript - 如何使用 jscript 断言过滤 Elmah 1.1 RC 中的异常类型?

第一个针对 404 的绑定有效,因此我正确设置了 ErrorFilterModule,但 jscript 部分似乎根本不起作用。HttpRequestValidationException 仍在报告邮件中发送。