如何解决“无法绑定到地址http://127.0.0.1:5000:地址已在使用中”。

Adr*_*iel 6 c# asp.net azure asp.net-core

我使用 Visual Studio 创建了一个 Asp.Net Core 应用程序,并使用 VS 的发布选项在我的 Azure 帐户上发布我的应用程序。

发布后,我使用该链接访问我的网站,但收到“HTTP 错误 500.30 - ASP.NET Core 应用程序无法启动”

我转到 Azure 中的控制台手动启动我的应用程序并了解有关该问题的更多详细信息,然后我得到了这个。控制台上出现错误

不太确定如何解决我的端口的这个问题

以下是program.cs中的代码

var connectionString = builder.Configuration.GetConnectionString("LocalConnection");
builder.Services.AddDbContext<LotharDataBaseContext>(options =>
    options.UseSqlServer(connectionString));

builder.Services.AddControllersWithViews();

builder.Services.AddAuthentication(NegotiateDefaults.AuthenticationScheme)
   .AddNegotiate();

builder.Services.AddAuthorization(options =>
{
    // By default, all incoming requests will be authorized according to the default policy.
    options.FallbackPolicy = options.DefaultPolicy;
});
builder.Services.AddRazorPages();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Home/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthentication();
app.UseAuthorization();

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

app.Run();
Run Code Online (Sandbox Code Playgroud)

Jas*_*Pan 1

通过你的截图,我看到了Kestrel,所以我认为你创建的web应用程序应该在linux平台上。屏幕截图上的端口占用是预期行为,它不应该是根本原因。由于该站点已经在运行,并且您手动命令它重新启动,因此应该会出现此错误。

我建议你先提供你的Program.cs文件,我们需要查看UseUrls,或者UseKestrel的代码。

webapp启动时查看日志的方法:

  1. 打开你的 kudu 网站,网址应该是https://your_app_name.scm.azurewebsites.net

  2. 打开新用户界面,https://your_app_name.scm.azurewebsites.net/newui

  3. 脚步:

在此输入图像描述

在此输入图像描述

在此输入图像描述

  1. 在这个default_docker.log文件中,我们将得到有用的消息。

您可以尝试的步骤:

  1. 尝试添加.UseIIS,我们知道您的平台是 linux。

    Kestrel 解决了 azure 应用服务中的绑定错误

  2. 删除.UseUrls()并重新部署您的 web 应用程序。