我在APPLICATION_START上产生了一个线程,并希望记录异常.没有Context/HttpContext/HttpContext.Current,我怎么才能把它记入日志(log)呢?

目前,它没有在我的线程中捕获任何异常,如果我写ErrorSignal.FromCurrentContext().Raise(ex);,我会得到一个关于上下文不能为空的错误.

也许我可以创建一个虚拟的HttpContext,但不知何故,我认为这不会很好地工作.

我试了ErrorSignal.Get(new HttpApplication()).Raise(ex);次,但它似乎没有接收到这一例外.

推荐答案

确保在web中设置应用程序名称.配置

<errorLog type="Elmah.SqlErrorLog, Elmah" 
          connectionStringName="nibWeb" 
          applicationName="Nib.Services" />

然后

ErrorLog.GetDefault(null).Log(new Error(error));

会有用的

Asp.net相关问答推荐

如何在 asp.net 服务器中使用字体

无法连接到 ASP.Net 开发服务器问题

IIS 中 ASP.net 应用程序的单独应用程序池

解析器错误消息:文件/TestSite/Default.aspx.cs不存在

Anti-Forgery Token 适用于不同的基于声明的用户

如何在集线器类之外获取 SignalR 用户连接 ID?

FluentValidation 使用数据库的唯一名称验证

发布发布事件

asp.net Button OnClick 事件未触发

Razor 主机工厂错误

如何解决 Kerberos 双跳问题?

使用 jQuery 调用 ASP.NET PageMethod/WebMethod - 返回整个页面

如何从 ASP.Net 发布然后重定向到外部 URL?

IIS Express 安装目录在哪里?

导航到本地 IIS Express 时,Chrome 会返回错误请求 - 请求太长

Windows Azure PaaS(网络角色)的真正替代品?

ASP.NET:在 Response.Redirect(...) 之后代码会发生什么?

如何使用 jquery 设置单选按钮 Select 的值

ASP.NET - 从静态方法/静态类访问会话?

新的 csproj 文件 struct 可以与 ASP.NET Framework 项目一起使用吗?