【问题标题】:"Illegal character in path" .net MVC4 SignalR version 1.1.4“路径中的非法字符”.net MVC4 SignalR 1.1.4 版
【发布时间】:2017-02-23 15:07:11
【问题描述】:

我不确定这是什么时候发生的,但它不知从何开始,并且发生在从控制器的操作方法返回任何视图期间。这是在 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 框架 4.0 的更高版本 SignalR(1.2.2 版),但仍然遇到同样的问题。我认为这个版本是支持 4.0 的最新版本,这是我从 NUGET 画廊看到和收集的。

【问题讨论】:

标签: c# jquery asp.net-mvc asp.net-mvc-4 signalr


【解决方案1】:

从 jquery.signalR-1.2.2.js 切换到 jquery.signalR-1.2.2.min.js 似乎可以解决这个问题。

实际上,它只是因为捆绑忽略了 .min.js 文件而根本没有添加它。给人一种它正在工作的错觉。找出来,然后找到真正的罪魁祸首。

我忘记添加地图集了,

    protected void Application_Start()
    {
        RouteTable.Routes.MapHubs();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-30
    • 1970-01-01
    • 2012-03-05
    • 2018-02-28
    • 2015-07-31
    • 2014-03-22
    相关资源
    最近更新 更多