【发布时间】:2021-02-19 06:00:22
【问题描述】:
我有一个简单的 ASP.NET Core 应用程序,我想通过 IIS 和 Windows 身份验证运行它。
我之前测试并运行过它(在添加 Windows 身份验证和 IIS 之前),它运行良好:它只是打开一个浏览器页面并显示一个包含姓名和生日日期的 json。
现在,我完全按照官方的Microsoft Guide on how to Configure Windows Authentication in ASP.NET Core 进行操作,之后就使用了Microsoft Guide on how to "host ASP.NET Core on Windows with IIS"。在那里,我被这个部分困住了
浏览网站
因为当我尝试访问http://www.iiswebsite.com/(这是我通过上述指南添加的网站名称)时,Chrome 显示“无法访问此网站”。
我检查了我的配置三遍,并确保一切设置正确/如指南中所述(请注意:我使用 Windows 桌面操作系统)
这是我不明白的地方:正如有关如何“Configure Windows Authentication in ASP.NET Core”的文章中所建议的那样,我在项目的根目录中添加了一个web.config 并具有所需的配置。这里是:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<windowsAuthentication enabled="true" />
</authentication>
</security>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="C:\Users\XXX\Desktop\FirstProject\FirstProject\bin\Debug\netcoreapp3.1\FirstProject.exe" arguments="" stdoutLogEnabled="false" hostingModel="InProcess">
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</location>
</configuration>
但Microsoft Guide on how to "host ASP.NET Core on Windows with IIS" 也建议将此行添加到web.config:<Project Sdk="Microsoft.NET.Sdk.Web">。当我这样做时,它会抱怨“未声明项目元素”。当我发布时,仍然找不到我的网站。这可能是问题吗?还是我在做一些完全错误的事情?
我希望这个问题不要太愚蠢。通常我做前端的东西,ASP.NET Core、C#、IIS 等对我来说是一个全新的世界。
我也搜索了 StackOverflow,但没有成功。尤其是this question 看起来很有帮助,但遗憾的是它没有用。
附加信息:localhost 上的默认 IIS 网站运行成功。
【问题讨论】:
-
“但是关于如何“使用 IIS 在 Windows 上托管 ASP.NET Core”的 Microsoft 指南也建议将此行添加到 web.config:
" ?再读一遍,因为那是不可能的。 -
关于 Chrome 无法找到该站点的原因,您可能弄乱了 DNS 设置,因此请求甚至不会到达该 IIS 站点。惊讶于前端开发人员对 DNS 的了解不够,但是一旦您在那里搜索并了解了一些东西,原因就很明显了。
-
Lex Li,抱歉,您的回答一点用都没有。
标签: c# asp.net asp.net-core iis