无法将JSNLog实现为ASP.NET MVC解决方案

时间:2013-10-03 18:41:53

标签: javascript asp.net-mvc-4 nlog jsnlog

在我将MVNLog软件包安装并引用到我的MVC项目之后,单击链接时遇到错误。

例如,

<a href="@Url.Action("Bar", "Foo")">Link</a>

通常会产生

<a href="/Foo/Bar">Link</a>

但在我开始使用JSNLog后,它现在生成

<a href="/jsnlog.logger?action=Bar&controller=Foo">Link</a>

将指向链接

http://localhost:51745/jsnlog.logger?action=Bar&controller=Foo

显示

  

异常详细信息:System.NullReferenceException:不是对象引用   设置为对象的实例。

我相信只要有机会访问服务器,JSNLog就会尝试将异常或日志事件发送回服务器。
我错过了一些能让它发挥作用的东西吗?

2 个答案:

答案 0 :(得分:4)

创建原始帖子时存在此错误,但现在已修复了几个版本(我是JSNLog的作者)。

答案 1 :(得分:3)

这实际上是由他们在App_Start中注入的Ignore路由引起的,将其移动到您的路由集合中手动修复问题。之所以发生这种情况是因为您没有为其余控制器手动定义路由,因此.net会尝试解析为找到的第一个控制器。

在App_Start \ JSNLogConfig.cs中取出

RouteTable.Routes.Insert(0, new Route("jsnlog.logger/{*pathInfo}", new StopRoutingHandler()));

在RouteConfig.cs中添加

routes.IgnoreRoute("jsnlog.logger/{*pathInfo}");

所有其他路线应该开始正常工作。