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>
HTTP错误403.14-禁止
已启用目录列表和IIS目录浏览
将默认文档设置为Startup.cs后出错
您无需目录浏览即可显示 ASP.NET MVC 站点。
但看起来你有一个非常旧的网络“服务器”。您需要做的一件事是安装DotNetCore.2.0.0-WindowsHosting.exe(看起来您创建了一个ASP.NET Core MVC站点)。查看本页末尾:https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.0.0-download.md
web.config还必须包括所需的程序集。
编辑:
再看一下你的屏幕截图,看起来你将项目中的所有源代码都添加到Web服务器中了。这不是它的工作原理。你必须编译ASP.NET项目并将其发布到Web服务器(只需复制编译后的输出即可完成)。
我建议找一个ASP.NET MVC教程来掌握基本知识。并且可能尝试使用较新版本的IIS=D。
我刚刚发现这个似乎显示了基础:https://www . tutlane . com/tutorial/aspnet-MVC/ASP-net-MVC-publish-with-file-system
以下是在ASP.NET启用目录浏览的完整配置
https://learn.microsoft.com/en-us/iis/configuration/system.webserver/directorybrowse
在用于提供文件的IIS中如果文件是脚本,您应该添加一个处理程序,但如果要下载该文件,则必须为其添加MIME映射。注意要访问任何文件,您应该启用其扩展名(此处为. cs),然后在URL中引用具有扩展名的文件名。似乎您的URL不包含您的文件名。还要小心您的文件不位于IIS配置中的隐藏段中。
如果您使用asp.net核心部分本机IIS模块和所有IIS托管模块无法处理ASP.NET核心应用程序的请求。
此外,对于访问被阻止的文件,您不需要启用目录浏览。本文档解释了iis中的fileExtensions:https://learn.microsoft.com/en-us/iis/configuration/system.webserver/security/requestfiltering/fileextensions/
您的案例将正确使用此配置:
<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>