首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ASP.NET MVC路由和文件路径

ASP.NET MVC路由和文件路径
EN

Stack Overflow用户
提问于 2010-08-21 04:24:31
回答 2查看 1.5K关注 0票数 3

我有一个与文件路径同名的控制器操作。像这样:

代码语言:javascript
运行
复制
www.example.com/userfiles/path/to/userfile.jpg

基本上,我有一个userfiles控制器,在索引操作中,userfiles/之后的所有内容都是一个路径。在我的应用程序的根目录中还有一个userfiles虚拟目录。我希望发生的是,如果userfiles/之后的目录(在本例中为path)在userfiles虚拟目录中不存在,则在userfilesController上使用索引操作(如果该目录确实存在),然后按原样使用path。

这在我的运行iis 5的windows xp dev机器上运行得很完美。但是,一旦我把它移到实时服务器(Windows server 2003 iis 6)上,我得到了一个404错误,就好像该路径不存在一样,而不是转到userfiles控制器索引操作。

在routes文件中,我有:

代码语言:javascript
运行
复制
routes.MapRoute(
    "Userfiles",                                       // Route name
    "userfiles/{*url}",                                // URL with parameters
    new { controller = "Userfiles", action = "Index" } // Parameter defaults
);

我遗漏了什么?它工作得很好。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-24 21:50:11

所以我发现我的问题是,我们确实为站点启用了通配符映射,但是,由于性能原因,我们也为某些目录关闭了它。我已经为有问题的目录重新启用了通配符,这一切都开始像在我的dev box上一样工作。Joy!

票数 1
EN

Stack Overflow用户

发布于 2012-10-20 19:32:10

我知道这个问题已经得到了回答,我认为这可能会对某些人有所帮助。在你的web.config中,你可能需要添加runAllManagedModulesForAllRequests="true“

代码语言:javascript
运行
复制
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />

希望这对某些人有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3534602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档