HTTP错误500.24-内部服务器错误:system.web/identity@impersonate设置为true

时间:2019-02-16 20:43:36

标签: c# asp.net-core model-view-controller asp.net-core-2.0

我创建了一个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"
    }
  }
}

4 个答案:

答案 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并找到您的默认网站:

Default website

那么您有两个选择。首先是最快的。

1。身份验证

点击身份验证图标:

Authentication icon

右键单击“ ASP.NET模拟”并禁用它。

Disable impersonation

2。配置编辑器

打开配置编辑器:

Configuration editor

配置编辑器打开;点击左上角的下拉菜单,然后选择system.web / identity:

Drop-down

设置模拟为假:

Impersonate

你很好!

答案 2 :(得分:1)

您的设置有问题。 "windowsAuthentication": true不应该在那里。除非您尝试设置和使用Windows身份验证,否则默认情况下将其设置为false。设置Windows身份验证需要特殊的步骤,包括在program.cs文件中包含一个web.configforwardWindowsAuthToken="True"的{​​{1}}文件。如果您不想这样做,只需设置.UseIISIntegration()

答案 3 :(得分:0)

在 StartUp.cs 中创建 .net core 应用程序时必须注释 //app.UseAuthorization(); 然后运行您的应用程序,它将完美运行。

相关问题