我在ELMAH中出现与SignalR有关的错误。我没有使用SignalR,我在Localhost上运行。该解决方案是一个MVC5互联网应用程序。造成这种情况的原因是什么?如何阻止这种情况?
未找到路径'/ signalr / negotiate'的控制器或未实现IController。
System.Web.HttpException 未找到路径'/ signalr / negotiate'的控制器或未实现IController。
System.Web.HttpException(0x80004005):未找到路径'/ signalr / negotiate'的控制器或未实现IController。 在System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext,Type controllerType) 在System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext,String controllerName) 在System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext,IController& controller,IControllerFactory& factory) 在System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext,AsyncCallback回调,对象状态) 在System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext,AsyncCallback回调,对象状态) 在System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context,AsyncCallback cb,Object extraData) 在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)
答案 0 :(得分:5)
我通过在Web.config
中实现以下内容解决了这个问题,而没有禁用浏览器链接:
<elmah>
<errorFilter>
<test>
<jscript>
<expression>
<![CDATA[
// @assembly mscorlib
// @assembly System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// @import System.IO
// @import System.Web
$.Context.Request.UserAgent.match('/*+/arterySignalR/ping')
]]>
</expression>
</jscript>
</test>
</errorFilter>
</elmah>
答案 1 :(得分:2)
如果您使用的是Visual Studio 2013,则可能是由新的浏览器链接功能引起的。尝试disabling it,看看错误是否消失。