2013-10-03 8 views
0

JSNLog 패키지를 MVC 프로젝트에 설치하고 참조하면 링크를 클릭 할 때 오류가 발생합니다. 예를 들어 JSNLog를 ASP.NET 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> 

을 생산객체의 인스턴스 오브젝트 참조하지 설정 : System.NullReferenceException :

예외 정보를 도시210

.

JSNLog가 서버에 액세스 할 수있는 기회가있을 때마다 JSNLog가 예외 또는 로그 이벤트를 다시 서버로 보내려고한다고 생각합니다.
이 기능을 만들기 위해 뭔가가 빠졌습니까?

답변

3

실제로 이것은 App_Start에 삽입 된 무시 경로에 의해 발생하며 경로 수집으로 이동하여 수동으로 문제를 해결합니다. 그것은 나머지 컨트롤러에 대한 경로를 수동으로 정의하지 않기 때문에 발생합니다. 그래서 .net은 정의 된 첫 번째 것으로 해결하려고 시도합니다.

App_Start \ JSNLogConfig.cs에서 RouteConfig.cs이

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

을 추가하고 다른 모든 경로가 잘 작동 시작해야에서

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

을 꺼내.

+0

감사합니다. 당신의 솔루션은 마술을했습니다! –

4

이 버그는 원래 게시물이 만들어 졌을 때 존재했지만 지금은 몇 버전 전으로 수정되었습니다 (저는 JSNLog의 저자입니다).

+0

저는 Angular 2와 Web API를 사용합니다. 내 클라이언트의 주소 (http : // localhost : 4200)는 서버의 주소 (http : // localhost : 23900)와 별개이지만 콘텐츠를 게시 할 때 로컬 주소를 사용합니다. 어떻게 변경할 수 있습니까? POST http : // localhost : 4200/jsnlog.logger 404 (찾을 수 없음) – BehrouzMoslem