我不确定这种情况何时发生,但它从无处开始,并且在从控制器的动作方法返回任何视图时发生。这是在Visual Studio上运行,这是错误:
System.ArgumentException: Illegal characters in path.
at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)
at System.IO.Path.Combine(String path1, String path2)
at System.Web.Configuration.UserMapPath.GetPhysicalPathForPath(String path, VirtualDirectoryMapping mapping)
at System.Web.Configuration.UserMapPath.GetPathConfigFilename(String siteID, VirtualPath path, String& directory, String& baseName)
at System.Web.Configuration.UserMapPath.MapPath(String siteID, String path)
at System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull)
at System.Web.Hosting.HostingEnvironment.MapPathInternal(VirtualPath virtualPath, Boolean permitNull)
at System.Web.CachedPathData.GetPhysicalPath(VirtualPath virtualPath)
at System.Web.CachedPathData.GetConfigPathData(String configPath)
at System.Web.CachedPathData.GetVirtualPathData(VirtualPath virtualPath, Boolean permitPathsOutsideApp)
at System.Web.HttpContext.GetFilePathData()
at System.Web.HttpContext.GetConfigurationPathData()
at System.Web.Configuration.RuntimeConfig.GetConfig(HttpContext context)
at System.Web.HttpContext.get_ImpersonationToken()
at System.Web.ClientImpersonationContext.Start(HttpContext context, Boolean throwOnError)
at System.Web.ThreadContext.SetImpersonationContext()
at System.Web.ThreadContext.AssociateWithCurrentThread(Boolean setImpersonationContext)
at System.Web.HttpApplication.OnThreadEnterPrivate(Boolean setImpersonationContext)
at System.Web.HttpApplication.ApplicationStepManager.ResumeSteps(Exception error)
这是我发现错误的错误:
MvcApplication: 08:59:37,017 [40] ERROR - Requested url: /function () {"use strict"; _pageLoaded = true; }
MvcApplication: 08:59:37,033 [40] ERROR - Requested Path: /function () {"use strict"; _pageLoaded = true; }
看起来这可能是来自jquery库。我使用的是3.1.1版本
处理此问题的最佳方法是什么,为什么会突然开始发生?我确实安装了SignalR Api,但是没有任何明显的问题。我也在使用.net 4.0的MVC4应用程序中使用Boostrap
更新,嗯我删除了我的SignalR脚本包,它解决了这个问题。所以它与SignalR脚本1.1.4版有关。
Update2 ,尝试更新到仍然支持.net framework 4.0但仍然遇到相同问题的SignalR(版本1.2.2)的更高版本。我认为这个版本是支持4.0的最新版本,这是我从NUGET画廊看到和收集的内容。
答案 0 :(得分:1)
从jquery.signalR-1.2.2.js切换到jquery.signalR-1.2.2.min.js似乎解决了这个问题。 击>
实际上,它只能起作用,因为捆绑包忽略了.min.js文件而根本没有添加它。给它起作用的错觉。发现了然后找到了真正的罪魁祸首。
我忘了添加maphubs,
protected void Application_Start()
{
RouteTable.Routes.MapHubs();