【问题标题】:Dotnet Core WebAPI IIS Express base URLDotnet Core WebAPI IIS Express 基本 URL
【发布时间】:2020-07-03 02:34:54
【问题描述】:

我有一个在 ISS 上的虚拟目录上运行的 webapi,最终结果类似于 api.companyname.com/APINAME/

现在我需要能够使用 dotnet run 或带有上述 baseUrl 的 IIS Express 在本地测试 API,最终结果将类似于 localhost:5555/APINAME/

我的问题是我无法更改代码中的任何内容以使其正常工作,并且我在网络上找不到任何关于我可以去哪里进行配置的内容。我也尝试过更改 LaunchSettings.json 文件。

【问题讨论】:

  • 不完全清楚你在问什么,但你的 LaunchSettings.json 应该包含你的 web 服务将运行的位置。您的 AppSettings.json 应指定您调用 Web 服务的任何地址。也就是说,如果您无法访问代码并且代码不在 AppSettings.json 中查找,那么您无能为力。

标签: c# .net asp.net-core .net-core asp.net-core-webapi


【解决方案1】:

您正在尝试实现两种不同的目标。

要(重新)定义监听端点,您可以通过以下方式使用 dotnet 的--urls 参数:

dotnet <yourdll.dll> --urls "http://*:5000"

您还可以提供多个端点(即 https、ipv6、...)

立即试用

我猜,这就是您需要做的所有事情,并且应用程序已经配置了路径。如果没有,请继续阅读。

另一件事是路径基础。 不能以这种方式配置 ("/myapp/")。为此,您需要更改源代码。最佳做法是像这样配置您的 AppBuilder:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        app.UsePathBase(...);
        ....

如果您无法编辑源代码,您可以将自己的应用程序包装在 dll 周围。但这要在这里回答很远。

当它起作用时,请接受作为答案,谢谢。

玩得开心!

【讨论】:

    猜你喜欢
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-04
    • 2020-02-12
    • 1970-01-01
    • 2020-05-28
    • 2020-01-11
    相关资源
    最近更新 更多