我创建了一个ASP.NET Web应用程序MVC Core 2.2项目。然后我在IIS Express中运行它。但是我收到以下错误:
HTTP错误500.24-内部服务器错误ASP.NET设置已被执行 检测到不适用于集成托管管道模式。
最可能的原因是:system.web/identity@impersonate设置为true。
您可以尝试的方法:如果应用程序支持,请禁用客户端 冒充。如果您确定可以忽略此错误, 可以通过设置禁用 system.webServer/validation@validateIntegratedModeConfiguration到 错误。
这是我的LunchSetting.json代码:
{
"iisSettings": {
"windowsAuthentication": true,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:50764",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "http://localhost:50764",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"WebApplication2": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "https://localhost:5001;http://localhost:5000"
}
}
}
答案 0 :(得分:3)
我收到了与OP相同的错误。我的解决方案是使用以下XML内容将Web.config文件添加到ASP.NET Core Web应用程序的根文件夹中:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
<identity impersonate="false"/>
</system.web>
</configuration>
答案 1 :(得分:2)
显然,这不是发布者的问题,因为他写道,他修复了更改.NET Core版本的问题;但我发布的是对我有用的,以防万一。
打开IIS并找到您的默认网站:
那么您有两个选择。首先是最快的。
1。身份验证
点击身份验证图标:
右键单击“ ASP.NET模拟”并禁用它。
2。配置编辑器
打开配置编辑器:
配置编辑器打开;点击左上角的下拉菜单,然后选择system.web / identity:
设置模拟为假:
你很好!
答案 2 :(得分:1)
您的设置有问题。 "windowsAuthentication": true
不应该在那里。除非您尝试设置和使用Windows身份验证,否则默认情况下将其设置为false
。设置Windows身份验证需要特殊的步骤,包括在program.cs文件中包含一个web.config
和forwardWindowsAuthToken="True"
的{{1}}文件。如果您不想这样做,只需设置.UseIISIntegration()
。
答案 3 :(得分:0)
在 StartUp.cs 中创建 .net core 应用程序时必须注释 //app.UseAuthorization(); 然后运行您的应用程序,它将完美运行。