簡體   English   中英

指定asp.net核心1.0 WebAPI.exe應該在program.cs中為prod和dev使用的url(端口)

[英]Specifying the url (port) that a asp.net core 1.0 WebAPI.exe should use in program.cs for both prod and dev

我在我的asp.net core 1.0 web api(.NET Framework)program.cs中執行以下操作,以指定我希望我的web api exe運行的端口僅用於開發目的:

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

    host.Run();
}

但是,當我發布到生產時,這行會導致WebAPI出錯,因為我希望exe使用生產web-api url即productionWeb / api / values而不是localhost:12012 / values

無論如何,我可以得到兩個世界中最好的,能夠指定我希望它在端口12012上運行用於開發目的和生產URL用於產品目的嗎?

我目前的解決方案是在發布之前注釋掉該行。

當使用IIS要覆蓋URL中的IIS(ASPNET核心模塊)告訴應用程序通過調用聽.UseUrls().UseIISIntegration() 您應該更改這兩個調用的順序,以便.UseIISIntegration().UseUrl() 如果你沒有運行IIS,則.UseIISIntegration()將不會觸及你設置的網址,因此在開發中你的應用程序仍然會在端口12012上偵聽。當運行IIS時.UseIISIntegration()會覆蓋url以偵聽端口IIS告訴它聽。 我寫了一篇關於使用IIS和Azure網站運行Asp.NET核心應用程序文章,該文章解釋了包括這種細微差別在內的工作原理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM