Reputation: 3
I have published .NET Core
2.2 API to IIS
v.10 and for some reason it responds 500!
I tried
I would appreciate your advice. Thanks
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
launchSettings.json
file:
{
"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"
}
}
}
}
Startup:
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();
}
I have reinstalled the .NET Core
bundle and I got this from 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
Upvotes: 0
Views: 12504
Reputation: 1
if (Environment.GetEnvironmentVariable("APP_POOL_ID") is not null)
{
builder.WebHost.UseIIS();
}
Upvotes: 0
Reputation: 81
If Your'e experiencing thiss use when hosting app as an Azure App Service
Add this:
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
under
<TargetFramework>netcoreapp3.1</TargetFramework>
inside your host *.csproj
file.
Upvotes: 6
Reputation: 28290
Try this:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>();
For InProcess
it uses IISHttpServer
. Check Host your ASP.NET Core 2.2 Web App with IIS (in-process and out-of-process hosting model) and deploy to Docker Windows Containers explaining the details.
Upvotes: 1