C#.NET MVC-HTTP错误403.14-禁止将Web服务器配置为不列出此目录的内容

C#.NET MVC-HTTP错误403.14-禁止将Web服务器配置为不列出此目录的内容,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,MVC项目的根目录中有一个Startup.cs 我启用了目录浏览。但在运行项目时,会显示以下屏幕。我希望在MVC项目中,不需要设置默认页面。我还尝试在默认文档(IIS)中添加Startup.cs,但它抛出扩展拒绝错误。已尝试在ApplicationHost.config文件中添加.cs扩展名。但它给出了更复杂的错误 Web.config <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.

MVC项目的根目录中有一个Startup.cs

我启用了目录浏览。但在运行项目时,会显示以下屏幕。我希望在MVC项目中,不需要设置默认页面。我还尝试在默认文档(IIS)中添加Startup.cs,但它抛出扩展拒绝错误。已尝试在ApplicationHost.config文件中添加.cs扩展名。但它给出了更复杂的错误

Web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
        <defaultDocument enabled="true" />
        <directoryBrowse showFlags="Date, Time, Size, Extension, LongDate" />
  </system.webServer>  
</configuration>


以下是在asp.net中启用目录浏览的完整配置

https://docs.microsoft.com/en-us/iis/configuration/system.webserver/directorybrowse

显示ASP.NET MVC站点不需要浏览目录

但看起来你有一个非常旧的网络“服务器”。您需要做的一件事是安装DotNetCore.2.0.0-WindowsHosting.exe(看起来您创建了一个ASP.NET Core MVC站点)。 请看本页末尾:

web.config还必须包含所需的程序集

编辑:

在第二次查看屏幕截图后,看起来您将项目中的所有源代码都添加到了web服务器。这不是它的工作原理。 您必须编译ASP.NET项目并将其发布到web服务器(只需复制编译后的输出即可)

我建议找一本ASP.NETMVC教程来掌握基本知识。并可能尝试使用更新版本的IIS=D

我刚刚发现这似乎是最基本的:

在IIS中,如果文件是脚本,则应添加处理程序,但如果应下载该文件,则必须为其添加MIME映射。注意:要访问任何文件,您应该启用其扩展名(here.cs),然后在URL中引用具有扩展名的文件名。您的URL似乎不包含您的文件名。还要注意,您的文件不能位于IIS配置中的隐藏段中

如果您使用的是asp.net core,则某些本机IIS模块和所有IIS管理模块将无法处理asp.net core应用程序的请求。请参见此处()

对于访问被阻止的文件,您不需要启用目录浏览。 此文档解释了iis中的文件扩展:

您的案例将正常使用此配置:

 <system.webServer>
 <staticContent>
        <mimeMap fileExtension=".cs" mimeType="text/plain" />
 </staticContent>
 <security>
    <requestFiltering>
        <fileExtensions>
                <remove fileExtension=".cs" />
                <add fileExtension=".cs" allowed="true" />
          </fileExtensions>
     </requestFiltering>
 </security>
</system.webServer>


我以前也是这么做的。但还是有山姆的错误,我最近才收到这个。在我的例子中,在url之后添加文件名。例如:localhost:4351到localhost:4351/index.aspx。您有许多页面,因此请在URL后编写“起始页”。当我尝试时,它显示请求筛选模块配置为拒绝文件扩展名。您可以尝试以下操作吗:我是asp.net新手,您可以指导我使项目运行吗?。我安装了AspNetCore.2.0.0.RuntimePackageStore_x64.exe。。。。。。我必须在web.config文件中进行哪些更改请尝试我添加的教程。它应该可以帮助您完成第一部分。当我创建一个新项目时,它会按预期工作。但我想运行现有的项目。有没有办法做到这一点?用我们掌握的信息是无法回答的。但我可以建议您将旧代码移到新代码。如果这不起作用,请一次移动一部分代码,这样您就可以知道它何时停止工作。