"Illegal character in path".net MVC4 SignalR 版本 1.1.4
"Illegal character in path" .net MVC4 SignalR version 1.1.4
我不确定这是什么时候发生的,但它不知从何而来,并且发生在控制器的操作方法的任何视图的 return 期间。这是 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 画廊看到和收集的。
从 jquery.signalR-1.2.2.js 切换到 jquery.signalR-1.2.2.min.js 似乎解决了这个问题。
实际上,它之所以起作用,是因为捆绑包忽略了 .min.js 文件并且根本没有添加它。给人一种它正在工作的错觉。找到了,然后找到了真正的罪魁祸首。
我忘了添加 maphubs,
protected void Application_Start()
{
RouteTable.Routes.MapHubs();
我不确定这是什么时候发生的,但它不知从何而来,并且发生在控制器的操作方法的任何视图的 return 期间。这是 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 画廊看到和收集的。
从 jquery.signalR-1.2.2.js 切换到 jquery.signalR-1.2.2.min.js 似乎解决了这个问题。
实际上,它之所以起作用,是因为捆绑包忽略了 .min.js 文件并且根本没有添加它。给人一种它正在工作的错觉。找到了,然后找到了真正的罪魁祸首。
我忘了添加 maphubs,
protected void Application_Start()
{
RouteTable.Routes.MapHubs();