这个错误通常发生在程序尝试监听一个已经被占用的端口或权限不够时。解决方法是绑定一个未被占用的端口或授权程序所需的权限。
首先,在 Program.cs 文件里配置 Kestrel 以监听指定端口:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseKestrel(options =>
{
options.Listen(IPAddress.Any, 5000); // 改为指定端口
})
.UseStartup();
然后,在启动 Web 应用程序时,确保程序运行在管理员权限下,或者运行以下命令(需要管理员权限):
netsh http add urlacl url=http://+:5000/ user=YOUR_USERNAME
其中,YOUR_USERNAME 是运行应用程序的用户名称。这个命令将允许用户监听指定的端口。
完成上述操作后,再次启动应用程序,问题应该得到解决。