相关疑难解决方法(0)

elmah:没有HttpContext的例外?

我在Application_Start上生成一个线程,并希望记录异常.没有Context/HttpContext/HttpContext.Current,所以我怎么能让它登录?

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

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

-edit-我试过ErrorSignal.Get(new HttpApplication()).Raise(ex);,它似乎没有拿起那个例外.

c# asp.net elmah exception httpcontext

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

Elmah错误记录,我可以只记录一条消息吗?

我刚为我的ASP.NET应用程序安装了Elmah(https://code.google.com/p/elmah/).是否可以在不先创建异常的情况下记录消息?

catch(Exception e)
{
    Exception ex = new Exception("ID = 1", e);
    ErrorSignal.FromCurrentContext().Raise(ex);
}
Run Code Online (Sandbox Code Playgroud)

那么有可能做到:

ErrorSignal.FromCurrentContext().log("Hello I am testing Elmah");
Run Code Online (Sandbox Code Playgroud)

asp.net elmah

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

是否有asp.net的控制台日志?

如果我有如下IF语句:

If currentdate >= rating1  then
    status = 2
ELSEIF currentdate >= rating2  then
    daylight_savings_status = 0
ELSEIF currentdate >= rating3  then
    daylight_savings_status = 1
ELSE 
    daylight_savings_status = 1
End If
Run Code Online (Sandbox Code Playgroud)

是否有类似javascript的东西

的console.log( '试验');

我可以测试哪个IF语句是声明的真实性?

这样我就能在firebug(firefox)上测试它.

asp.net

17
推荐指数
2
解决办法
5万
查看次数

针对Ajax请求的Asp.Net MVC操作中处理未处理的异常(错误500响应)的最佳策略是什么?

我很困惑如何处理这种情况.

通常,当发生未处理的ASP.Net异常时,服务器会发回某种HTML消息,默认的Asp.Net错误处理程序或自定义错误处理程序.在任何一种情况下,HTML都被发回(通常最好是让页面用户友好).

但是,我遇到了一个问题,即在Asp.net MVC控制器操作中发生未处理的异常,这些操作有望为Ajax调用返回JSON.当javascript读取返回的页面(它是HTML而不是预期的JSON)时,由于无法将响应转换为JSON(现在我正在使用ExtJS)而崩溃.我希望在异常时返回Json,以便可以通知用户发生了错误.

我能想到的唯一解决方案是在返回Json的每个操作中执行以下操作:

try { .... }
catch (Exception ex)
{
   return Json(new { success = false, msg = ex.Message });
}
Run Code Online (Sandbox Code Playgroud)

我不喜欢这种方法,因为它需要我捕获所有异常(由于显而易见的原因这是很糟糕的)并且它需要我JsonResult用相同的异常处理代码(这使得以后很难更改)对每个动作进行操作.

是否有更好的方法只返回返回Json的操作方法更合适的错误结果,但仍然保持常规错误页面对非Ajax Web请求用户友好?

c# asp.net-mvc json exception-handling

14
推荐指数
1
解决办法
7946
查看次数