在我将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就会尝试将异常或日志事件发送回服务器。
我错过了一些能让它发挥作用的东西吗?
答案 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}");
所有其他路线应该开始正常工作。