ASP.NET MVC RouteExistingFiles问题

在查看路由表之前,ASP.NET MVC 3似乎将首先提供现有文件。 可以通过设置选项routes.RouteExistingFiles = true来关闭它。 当它设置为不路由现有文件时,它似乎不提供所有文件。 例如,如果文件名为* .cs,则不会提供。 如果文件重命名为.txt,则会将其提供。 我觉得这很随意,我找不到任何关于服务内容和服务内容的文档。 将静态文件服务添加为路由表中的条目,使用StaticFileRouteHandler类或这些行中的某些内容应该要好得多。 有没有人有关于这个主题的更多信息或细节? 我想完全控制我的应用程序是什么服务。

PS:我正在使用ASP.NET开发服务器。

例如,如果文件名为* .cs,则不会提供

您可以查看c:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config文件的部分。 我看起来像这样:

                                                            

所以你可以看到所有那些被禁止的扩展。 它们对应于源代码文件,出于安全原因不直接提供。 否则人们将能够查看您的源代码文件。

如果您想为它们提供服务,您可以编写一个控制器操作来为这些文件提供服务。

我想说IIS控制服务的文件,并取代了MVC Route表条目所指示的内容。

如果要提供.CS文件,则可能需要调整IIS中的MIME类型。

尝试添加.cs扩展名mime类型并使文件类型为text / cs。