繁体   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