html - 在 IIS 7.0 中发布 .cs 扩展和其他

标签 html asp.net-mvc asp.net-mvc-2 iis

我正在开发一个 Web 应用程序并使用 IIS 运行它。我的应用程序是一个文件服务器。我需要在 Web 浏览器中可视化文件,但我在查看某些文件或目录时遇到了一些麻烦。

例如,我无法查看扩展名为 .cs 的文件或名为 bin 的目录的内容。 Web 服务器为这些 URL 返回 404:

Server Error

HTTP Error 404 - File or directory not found.

Description: The resource you are looking for might have been removed, 
had its name changed, or is temporarily unavailable.

Server Version Information: Internet Information Services 7.0.

我猜这是IIS的一种保护。我的问题是:

  1. 您知道 IIS 为什么要过滤这些文件吗?
  2. 您知道如何配置 IIS 以允许检索这些 URLS 吗?

对我来说最重要的问题是:

  • 我需要为许多客户部署我的 Web 应用程序,因此我想以编程方式配置它。您知道它是否可以在 Web 应用程序中配置,而不是在 IIS 中正确配置吗?在其他情况下,我如何使用脚本或类似工具对其进行配置?

最佳答案

嗯,

最后我不得不更改 IIS 设置,允许覆盖 requestFiltering :

In file %systemroot%\System32\inetsrv\config\applicationHost.config change:
<section name="requestFiltering" overrideModeDefault="Allow" />

然后我在我的 Web.config 中使用了以下配置: 请注意,现在 Web 服务器中的所有文件都未 protected 。您需要设置规则以保护您的 bin 目录以及您的代码文件或任何您想要的内容。

  <system.webServer>
    <security>
      <!-- Very important, the IIS configuration must have the 
           overrideModeDefault to allow in the file  
           %systemroot%\System32\inetsrv\config\applicationHost.config -->
      <!-- section name="requestFiltering" overrideModeDefault="Allow" /> -->
      <requestFiltering>
        <fileExtensions allowUnlisted="true">
          <remove fileExtension=".asa" />
          <remove fileExtension=".asax" />
          <remove fileExtension=".ascx" />
          <remove fileExtension=".master" />
          <remove fileExtension=".skin" />
          <remove fileExtension=".browser" />
          <remove fileExtension=".sitemap" />
          <remove fileExtension=".config" />
          <remove fileExtension=".cs" />
          <remove fileExtension=".csproj" />
          <remove fileExtension=".vb" />
          <remove fileExtension=".vbproj" />
          <remove fileExtension=".webinfo" />
          <remove fileExtension=".licx" />
          <remove fileExtension=".resx" />
          <remove fileExtension=".resources" />
          <remove fileExtension=".mdb" />
          <remove fileExtension=".vjsproj"  />
          <remove fileExtension=".java" />
          <remove fileExtension=".jsl"  />
          <remove fileExtension=".ldb" />
          <remove fileExtension=".dsdgm" />
          <remove fileExtension=".ssdgm" />
          <remove fileExtension=".lsad" />
          <remove fileExtension=".ssmap" />
          <remove fileExtension=".cd" />
          <remove fileExtension=".dsprototype" />
          <remove fileExtension=".lsaprototype" />
          <remove fileExtension=".sdm" />
          <remove fileExtension=".sdmDocument" />
          <remove fileExtension=".mdf" />
          <remove fileExtension=".ldf" />
          <remove fileExtension=".ad" />
          <remove fileExtension=".dd" />
          <remove fileExtension=".ldd" />
          <remove fileExtension=".sd" />
          <remove fileExtension=".adprototype" />
          <remove fileExtension=".lddprototype" />
          <remove fileExtension=".exclude" />
          <remove fileExtension=".refresh" />
          <remove fileExtension=".compiled" />
          <remove fileExtension=".msgx" />
          <remove fileExtension=".vsdisco" />
        </fileExtensions>
        <hiddenSegments>
          <remove segment="web.config" />
          <remove segment="bin" />
          <remove segment="App_code" />
          <remove segment="App_GlobalResources" />
          <remove segment="App_LocalResources" />
          <remove segment="App_WebReferences" />
          <remove segment="App_Data" />
          <remove segment="App_Browsers" />
        </hiddenSegments>        
      </requestFiltering>
    </security>
    ...
 </system.webServer>

关于html - 在 IIS 7.0 中发布 .cs 扩展和其他,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4714703/

相关文章:

javascript - 如何将水平滚动条添加到 jquery.bootgrid

jquery - 我可以将viewbag值传递给mvc2中的jQuery吗

asp.net - 我可以在 DefaultModelBinder 上禁用 DataAnnotations 验证吗?

javascript - 将 @Html.EditorFor "Date"值传回 Controller ,操作值并传回 View 以填充下拉列表

javascript - 如何使用jquery选择选项功能

html - 如何更改所选文本的背景颜色

android - Android 上不显示背景视频的第一帧

javascript - 在 Visual Studio 11 中使用 Chrome 启用脚本调试

asp.net-mvc - 自定义错误将覆盖ASP.NET MVC区域

javascript - HTML5 Canvas - 重复 Canvas 元素作为模式