加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 将以“.cshtml”结尾的请求路由到控制器

发布时间:2020-12-16 07:27:46 所属栏目:asp.Net 来源:网络整理
导读:(这是ASP.NET表单的 cross-posted) 我正在研究WebGit .NET项目,我们接近“1.0”版本.但是,我无法使用“浏览”控制器(将文件从存储库中取出)来提供“.cshtml”文件. 我最初也遇到了“.config”和“.cc”文件的问题,但我在web.config中修复了这个问题: locati
(这是ASP.NET表单的 cross-posted)

我正在研究WebGit .NET项目,我们接近“1.0”版本.但是,我无法使用“浏览”控制器(将文件从存储库中取出)来提供“.cshtml”文件.

我最初也遇到了“.config”和“.cc”文件的问题,但我在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.我正在服务的文件不存在于磁盘上,而是作为blob从git存储库中提取.我尝试过的每个其他文件扩展名都可以.

我该如何解决这个问题?

编辑:我试过像这样禁用WebPages:

<appSettings>
  <add key="webpages:Enabled" value="false" />
</appSettings>

但这似乎没有效果.

解决方法

作为一种快速解决方法,您可以在应用程序根目录中放置一个临时的browse.cshtml文件,并将其放在您的web.config中,add key =“webpages:Enabled”value =“false”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读