[英]Self-hosted Net Core 3 application does not take port settings
我覺得問這個很傻,因為有很多關於 Net Core 托管的文章,但我已經嘗試了所有方法,但仍然有問題。
我正在嘗試更改自托管 Web 服務使用的端口。 我已經更改了 launchSettings.json 文件。
"MyService": {
"commandName": "Project",
"environmentVariables": {
"ASPNETCORE_URLS": "http://*:51248",
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:51248"
},
"MyService": {
"commandName": "Project",
"environmentVariables": {
"ASPNETCORE_URLS": "http://*:51248",
"ASPNETCORE_ENVIRONMENT": "Release"
},
"applicationUrl": "http://localhost:51248"
}
我還嘗試通過直接配置設置端口:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<MyServiceWorker>();
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseUrls("http://*:51248");
webBuilder.UseStartup<Startup>();
})
.ConfigureWebHost(config => { config.UseUrls("http://*:51248"); })
.UseWindowsService()
.UseSerilog();
}
如果我通過 Visual Studio 運行一切正常,但如果我直接運行可執行文件,它仍然使用端口 5000。如果我將它作為 Windows 服務運行,它似乎選擇了一些隨機端口。
我打了幾十個網站,但沒有找到解決方案。 有沒有人有什么建議?
我覺得很愚蠢,但我會發布這個以防它對其他人有幫助。 我發現如果應用程序作為 Windows 服務運行, .UseUrls
確實有效。 從 Visual Studio 中啟動時, launchSettings.json
設置有效。 僅作為控制台應用程序運行時,我無法更改偵聽端口。
事實證明,問題是我測試應用程序的方式造成的。 希望沒有其他人會浪費很多時間做同樣的事情。
可以有很多選擇,其中之一來自這里,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
namespace testmvccore31
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.ConfigureKestrel(serverOptions =>
{
serverOptions.Listen(IPAddress.Any, 51248);
});
});
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.