代码之家  ›  专栏  ›  技术社区  ›  GONeale

我希望有一个名为“属性”的路由,但收到404错误(检测到磁盘上存在文件夹)

  •  2
  • GONeale  · 技术社区  · 15 年前

    当我试图创建一个名为和url为的自定义路由时,我会尽量简短。 properties 我的ASP.NET MVC应用程序正在返回一个404文件,但在点击路径时找不到该文件。

    我推断这很可能是由于我在磁盘上有一个文件夹 性质 这当然是一个自动创建的常见ASP.NET文件夹。我找到了另一个遭受 this problem on SO ,但似乎没有解决方案,只是给你的路线命名不同!

    这肯定是一个疏忽,还是一定有解决办法?显然,您可能需要许多通用目录作为路由和/或文件夹,可以互换使用,其中一些目录我们已经知道类似 性质 可能无法删除!我也明白我们也需要将真正的文件夹作为URL,但我觉得在查看磁盘上的文件夹之前,路由应该优先考虑。

    如果有人对如何实现这一目标有任何想法,我们将不胜感激。:)

    2 回复  |  直到 15 年前
        1
  •  1
  •   devstuff    15 年前

    查看.NET引用源代码时,它看起来不像 Properties 对ASP.NET运行时是特殊的( HttpRuntime.cs 的字符串常量 bin , App_Code 等)。

    尝试重命名物理 性质 文件夹 App_Properties 并编辑其中文件的名称空间以匹配。您还需要编辑 .csproj / .vbproj 文件也是,因为vs隐藏了这个“特殊”文件夹的重命名命令。

    完成此操作后,使用项目属性选项卡中的一些内置行为(如创建默认设置和资源)将导致 性质 要重新创建的文件夹,因此必须打开 .settings .resx 直接编辑文件。

        2
  •  1
  •   bleevo    15 年前

    如果删除ASP.NET MVC项目中的“属性”文件夹,它将按说明工作。

    应该注意的是,当您在IIS下运行时,您描述的行为本身不会出现(这实际上不是一个解决方案)。

    iisexpress发布后应该有所帮助!

    我想更多地试验这个,因为我认为路由引擎优先于文件系统对象,特别是在设置通配符映射时。