【发布时间】:2012-04-17 01:46:04
【问题描述】:
(这是 ASP.NET 表单的 cross-posted)
我正在开发WebGit .NET 项目,我们即将发布“1.0”版本。但是,我无法让我的“浏览”控制器(将文件从存储库中拉出)来提供“.cshtml”文件。
我最初也遇到了“.config”和“.cs”文件的问题,但我在 web.config 中解决了这个问题:
<location path="browse">
<system.webServer>
<security>
<requestFiltering>
<fileExtensions allowUnlisted="true">
<clear />
</fileExtensions>
<hiddenSegments>
<clear />
</hiddenSegments>
</requestFiltering>
</security>
</system.webServer>
</location>
应该处理这个请求的路由(即成功路由其他所有内容)是:
routes.MapRoute(
"View Blob",
"browse/{repo}/blob/{object}/{*path}",
new { controller = "Browse", action = "ViewBlob", path = UrlParameter.Optional });
现在,每当我尝试访问以“.cshtml”结尾的 URL 时,它都会给出 404,即使我的请求应该由“浏览”控制器处理。我提供的文件不存在于磁盘上,而是从 git 存储库中提取为 blob。我尝试过的所有其他文件扩展名都可以正常工作。
如何解决此问题?
编辑: 我曾尝试像这样禁用网页:
<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>
但这似乎没有效果。
【问题讨论】:
标签: asp.net-mvc-3 iis routing