在将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}”);

您的所有其他路线都应该可以正常运行。

09-26 10:18