I've dotnet core 3.1 project. I launched a few machines on iis. But today i can't launched the app on iis. I can launch with "dotnet <app.dll>" command and everything's good. But when i launch on IIS, it gives this error.
"crit: Microsoft.AspNetCore.Server.Kestrel[0] Unable to start Kestrel. System.Net.Sockets.SocketException (10013): An attempt was made to access a socket in a way forbidden by its access permissions. at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)"
Any suggestion ?
PS: I checked my ports in use with command netstat -o. There is no using from any application
netsh interface ipv4 show excludedportrange protocol=tcp
Look at the ports listed and see if it overlaps with your port.
If so, rebooting your PC or changing the port has fixed this for me.
I'm using port 56240, Windows Update sometimes takes that range.
Finally I found my solution on my own. I removed UseKestrel() line from program.cs and everything's good.
var config = new ConfigurationBuilder().AddCommandLine(args).Build();
return Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.UseKestrel(); **//remove this line.**
webBuilder.UseUrls();
webBuilder.UseIISIntegration();
}).ConfigureServices((context, services) =>
{
services.AddHostedService<Worker>();
services.AddHostedService<MonitorWorker>();
services.AddHostedService<TransferWorker>();
});
}