nei*_*ldt 47 c# asp.net-mvc asp.net-mvc-4
我有一个C#ASP.NET MVC 4项目,它使用Elmah来捕获任何未处理的异常.这在大多数情况下都很有效.
但是我发现对于使用JQuery Ajax调用调用的控制器方法,我无法获得当前的Context.
例如,在我的控制器方法中,返回JsonResult我有这个测试代码;
try
{
throw new Exception("This is a test");
}
catch(Exception e)
{
Elmah.ErrorLog.GetDefault(HttpContext.Current).Log(new Elmah.Error(e));
}
Run Code Online (Sandbox Code Playgroud)
该
HttpContext.Current
导致以下错误;
'System.Web.HttpContextBase'不包含'Current'的定义,并且没有扩展方法'Current'可以找到类型为'System.Web.HttpContextBase'的第一个参数'(你是否缺少using指令或程序集引用) ?)
我怎样才能解决这个问题?
Din*_*esh 109
要获取对HttpContext.Current的引用,您需要替换
HttpContext.Current
Run Code Online (Sandbox Code Playgroud)
同
System.Web.HttpContext.Current
Run Code Online (Sandbox Code Playgroud)
这是因为Controller类定义了一个名为HttpContext的属性,该属性定义为
public HttpContextBase HttpContext { get; }
Run Code Online (Sandbox Code Playgroud)
Controller类上的HttpContext返回没有Current属性的HttpContextBase.
因此,您需要在此处正确解析命名空间.
归档时间: |
|
查看次数: |
49084 次 |
最近记录: |