gpt4 book ai didi

asp.net-mvc - asp.net mvc 路由与 IIS7 中的物理路径冲突

转载 作者:行者123 更新时间:2023-12-02 20:10:05 25 4
gpt4 key购买 nike

我正在搞乱 Controller 组织,但遇到了问题。

如果我有以下物理结构

/Home/HomeController.cs
/Home/Index.aspx
/Home/About.aspx

我请求 URI:

/Home/Index

我收到 403 Directory Listing Denied :(

(我使用自定义 IControllerFactory 和 IViewEngine 来查看此非默认路径)

为什么会发生这种情况? (我知道 403 是因为它击中了 /Home 文件夹,但为什么它击中了该文件夹?)

为什么UrlRoutingModule不重写路由并让 Controller 接收请求?

Application_BeginRequest 触发,但随后它似乎将控制权传递回 IIS 以尝试从文件系统提供服务。

重写前是否存在默认为物理路径的UrlRoutingModule?

有办法实现这个功能吗?

注意请不要建议重新安置我的 Controller 等。我知道这是一个显而易见的选择,但这不是问题;)

在集成模式下使用 IIS7

谢谢

最佳答案

因为路由抽象只会路由磁盘上没有等效文件的请求。

除了重命名文件夹结构之外,您别无选择。

-- 编辑不,实际上您可以通过在 RouteCollection 上设置 RouteExistingFiles 属性来禁用该“功能”。

关于asp.net-mvc - asp.net mvc 路由与 IIS7 中的物理路径冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2873685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com