2017-07-31 75 views
3

這是我Program.cs的.Net核心API起始URL

public static void Main(string[] args) 
{ 
    var host = new WebHostBuilder() 
     .UseKestrel() 
     .UseContentRoot(Directory.GetCurrentDirectory()) 
     .UseUrls("http://localhost:9020") 
     .UseIISIntegration() 
     .UseStartup<Startup>() 
     //.UseApplicationInsights() 
     .Build(); 

    host.Run(); 
} 

它用來在端口運行9020作爲UseUrls()下指定。出於某種原因,現在當我啓動該程序時,它會擔任端口54033和唯一的事情(我覺得)我已經改變是增加:

<RuntimeIdentifiers>win10-x64</RuntimeIdentifiers> 

.csproj發佈,但我沒有看到這將如何影響運行服務的端口。有其他地方我可以檢查這個問題嗎?

回答

4

在您的項目的屬性下,您可以找到launchSettings.json。在這裏,您可以定義應用程序可以啓動的配置文件。 ApplicationUrl爲應用程序設置設置網址。

enter image description here

例JSON:

"profiles": { 
"IIS Express": { 
    "commandName": "IISExpress", 
    "launchBrowser": true, 
    "launchUrl": "api", 
    "environmentVariables": { 
    "ASPNETCORE_ENVIRONMENT": "Development" 
    } 
}, 
"RunInCommandPrompt": { 
    "commandName": "Project", 
    "launchBrowser": true, 
    "launchUrl": "api", 
    "environmentVariables": { 
    "ASPNETCORE_ENVIRONMENT": "Development" 
    }, 
    "applicationUrl": "http://localhost:19556" 
} 
} 
+0

這工作......但現在我不知道爲什麼不是'Program.cs'選項覆蓋它?在兩個地方改變它有什麼意義? – Norgul

+0

我不建議在代碼中使用硬編碼的網址,通過設置來設置它更簡潔。 Program.cs中的代碼被覆蓋的原因是因爲您是從Visual Studio啓動應用程序,並將其配置存儲在launchSettings.json文件中。 –