在将JSNLog程序包安装并引用到我的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会尝试在有机会访问服务器时将异常或日志事件发送回服务器。
我是否缺少使此功能起作用的东西?
最佳答案
这实际上是由忽略他们在App_Start中注入的路由引起的,将其手动移动到路由集合中可以解决此问题。发生这种情况是因为您没有为其余控制器手动定义路由,因此.net尝试解析为它找到的第一个路由。
在App_Start \ JSNLogConfig.cs中取出
RouteTable.Routes.Insert(0,新的Route(“ jsnlog.logger / {* pathInfo}”,新的StopRoutingHandler()));
在RouteConfig.cs中添加
route.IgnoreRoute(“ jsnlog.logger / {* pathInfo}”);
您的所有其他路线都应该可以正常运行。