繁体   English   中英

在 IIS 上启动 .NET Core Web API 时出错:“应用程序正在 IIS 进程内运行,但未配置为使用 IIS 服务器”

[英]Error on starting .NET Core Web API on IIS: "Application is running inside IIS process but is not configured to use IIS server"

我已经将.NET Core 2.2 API 发布到IIS v.10 并且由于某种原因它响应 500!

我试过了

  • stdoutLogEnabled="true" (没有生成日志文件)
  • app.UseDeveloperExceptionPage(无)
  • dotnet.exe x.dll 其中 x 是项目名称(说:没有配置监听端点。绑定到http://localhost:5000 )然后它在 5000 而不是 IIS 上的指定端口上完美运行

我会很感激你的建议。 谢谢

public static void Main(string[] args)
{
    CreateWebHostBuilder(args).Build().Run();
}

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>();

launchSettings.json文件:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:5694",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "x": {
      "commandName": "Project",
      "applicationUrl": "http://localhost:5694",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

启动:

public Startup(IConfiguration configuration, ILoggerFactory loggerFactory)
{
    NLog.LogManager.LoadConfiguration(String.Concat(Directory.GetCurrentDirectory(), "/nlog.config"));
    Configuration = configuration;
}

public IConfiguration Configuration { get; }

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseCors("CorsPolicy");
    app.UseMvc();
}

我已经重新安装了.NET Core包,我从stdout得到了这个:

Application startup exception: System.InvalidOperationException: Application is running inside IIS process but is not configured to use IIS server.
   at Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter.<>c__DisplayClass2_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
crit: Microsoft.AspNetCore.Hosting.Internal.WebHost[6]
      Application startup exception
System.InvalidOperationException: Application is running inside IIS process but is not configured to use IIS server.
   at Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter.<>c__DisplayClass2_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[2]
      Failed to locate the development https certificate at '(null)'.
dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[1]
      Unable to locate an appropriate development https certificate.
dbug: Microsoft.AspNetCore.Server.Kestrel[0]
      No listening endpoints were configured. Binding to http://localhost:5000 by default.
Hosting environment: Production
Content root path: C:\inetpub\wwwroot\VetWorkAdmin
dbug: Microsoft.AspNetCore.Hosting.Internal.WebHost[4]
      Hosting started
dbugNow listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
: Microsoft.AspNetCore.Hosting.Internal.WebHost[0]
      Loaded hosting startup assembly VetWork.Admin
dbug: Microsoft.AspNetCore.Hosting.Internal.WebHost[0]
      Loaded hosting startup assembly Microsoft.AspNetCore.Server.IISIntegration

我已经发布了IIS v.10的.NET Core 2.2 API,由于某种原因,它可以响应500!

我试过

  • stdoutLogEnabled =“ true”(未生成日志文件)
  • app.UseDeveloperExceptionPage(什么都没有)
  • dotnet.exe x.dll,其中x是项目名称(表示:未配置任何侦听端点。绑定到http:// localhost:5000 ),然后它可以在5000上完美运行,而不是在IIS上指定的端口

非常感谢您的建议。 谢谢

public static void Main(string[] args)
{
    CreateWebHostBuilder(args).Build().Run();
}

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>();

launchSettings.json文件:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:5694",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "x": {
      "commandName": "Project",
      "applicationUrl": "http://localhost:5694",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

启动:

public Startup(IConfiguration configuration, ILoggerFactory loggerFactory)
{
    NLog.LogManager.LoadConfiguration(String.Concat(Directory.GetCurrentDirectory(), "/nlog.config"));
    Configuration = configuration;
}

public IConfiguration Configuration { get; }

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseCors("CorsPolicy");
    app.UseMvc();
}

我已经重新安装了.NET Core捆绑包,并从stdout获得了它:

Application startup exception: System.InvalidOperationException: Application is running inside IIS process but is not configured to use IIS server.
   at Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter.<>c__DisplayClass2_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
crit: Microsoft.AspNetCore.Hosting.Internal.WebHost[6]
      Application startup exception
System.InvalidOperationException: Application is running inside IIS process but is not configured to use IIS server.
   at Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter.<>c__DisplayClass2_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[2]
      Failed to locate the development https certificate at '(null)'.
dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[1]
      Unable to locate an appropriate development https certificate.
dbug: Microsoft.AspNetCore.Server.Kestrel[0]
      No listening endpoints were configured. Binding to http://localhost:5000 by default.
Hosting environment: Production
Content root path: C:\inetpub\wwwroot\VetWorkAdmin
dbug: Microsoft.AspNetCore.Hosting.Internal.WebHost[4]
      Hosting started
dbugNow listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
: Microsoft.AspNetCore.Hosting.Internal.WebHost[0]
      Loaded hosting startup assembly VetWork.Admin
dbug: Microsoft.AspNetCore.Hosting.Internal.WebHost[0]
      Loaded hosting startup assembly Microsoft.AspNetCore.Server.IISIntegration

我已经发布了IIS v.10的.NET Core 2.2 API,由于某种原因,它可以响应500!

我试过

  • stdoutLogEnabled =“ true”(未生成日志文件)
  • app.UseDeveloperExceptionPage(什么都没有)
  • dotnet.exe x.dll,其中x是项目名称(表示:未配置任何侦听端点。绑定到http:// localhost:5000 ),然后它可以在5000上完美运行,而不是在IIS上指定的端口

非常感谢您的建议。 谢谢

public static void Main(string[] args)
{
    CreateWebHostBuilder(args).Build().Run();
}

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>();

launchSettings.json文件:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:5694",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "x": {
      "commandName": "Project",
      "applicationUrl": "http://localhost:5694",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

启动:

public Startup(IConfiguration configuration, ILoggerFactory loggerFactory)
{
    NLog.LogManager.LoadConfiguration(String.Concat(Directory.GetCurrentDirectory(), "/nlog.config"));
    Configuration = configuration;
}

public IConfiguration Configuration { get; }

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseCors("CorsPolicy");
    app.UseMvc();
}

我已经重新安装了.NET Core捆绑包,并从stdout获得了它:

Application startup exception: System.InvalidOperationException: Application is running inside IIS process but is not configured to use IIS server.
   at Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter.<>c__DisplayClass2_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
crit: Microsoft.AspNetCore.Hosting.Internal.WebHost[6]
      Application startup exception
System.InvalidOperationException: Application is running inside IIS process but is not configured to use IIS server.
   at Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter.<>c__DisplayClass2_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[2]
      Failed to locate the development https certificate at '(null)'.
dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[1]
      Unable to locate an appropriate development https certificate.
dbug: Microsoft.AspNetCore.Server.Kestrel[0]
      No listening endpoints were configured. Binding to http://localhost:5000 by default.
Hosting environment: Production
Content root path: C:\inetpub\wwwroot\VetWorkAdmin
dbug: Microsoft.AspNetCore.Hosting.Internal.WebHost[4]
      Hosting started
dbugNow listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
: Microsoft.AspNetCore.Hosting.Internal.WebHost[0]
      Loaded hosting startup assembly VetWork.Admin
dbug: Microsoft.AspNetCore.Hosting.Internal.WebHost[0]
      Loaded hosting startup assembly Microsoft.AspNetCore.Server.IISIntegration
if (Environment.GetEnvironmentVariable("APP_POOL_ID") is not null)
{
    builder.WebHost.UseIIS();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM