【问题标题】:How to setup web app connection so that I can run them locally in IIS express and in the Auzure cloud如何设置 Web 应用程序连接,以便我可以在 IIS express 和 Auzure 云中本地运行它们
【发布时间】:2016-08-22 20:08:39
【问题描述】:

当前状态:我在 Visual Studio 2015 中基于 ASP.net 4.5.2 和 WebAPI 创建了 2 个 Web 应用程序。一个 Web 应用程序查询第二个 Web 应用程序的 REST API,后者依次连接到网络上的另一个 REST API。

我通常在 IIS Express 服务器上本地测试 Web 应用程序。 Web 应用程序一通过 HttpClient 使用 localhost 作为主机名与第二个通信。

目标:现在我想将这两个 Web 应用程序部署到 Azure。显然,我不能使用localhost。我必须使用 Visual Studio 分配的 IP 地址/主机名(不知道如何弄清楚它们,但无论如何)。但是当我将代码更改为使用 whatever IP address 而不是 localhost 时,我无法在本地的 IIS Express 上运行和调试它们。

实际问题: 在 IIS Express 和 Azure 云中运行时,如何让 Web 应用 1 与 Web 应用 2 通信?如何解决主机名问题?

【问题讨论】:

标签: c# asp.net azure iis asp.net-web-api


【解决方案1】:

我只是使用 web.config

在 Visual Studio 中,对于 Web 项目,如果单击“属性”>“Web”>“服务器”,则可以选择 IIS express 并设置静态 url,例如:http://localhost:51137/

我猜你已经这样做了。

然后每个应用程序都有一个对另一个应用程序的引用,使用 AppSetting,您将其添加到 web.config

<add key="ApiBaseUrl" value="http://localhost:51137/" />

并且此设置在 Azure AppSettings 配置中被覆盖,因此它指向实时。

<add key="ApiBaseUrl" value="https://myApp.azurewebsites.net/" />

每当 webApp1 需要调用 webApp2 时,它都可以从 apiUrl + 'Foo/23',其中apiUrl = ConfigurationManager.AppSettings["ApiBaseUrl"];

编辑:如果您登录到“新”Azure 门户并查看您的 WebApp 的设置,则会出现一个应用程序设置刀片。 App 设置部分允许覆盖已发布的 AppSettings 的键/值条目。

【讨论】:

  • 对,静态 url 已经设置好了(我猜是 VS 完成的)。但我不明白你的其余答案。我在哪里可以看到这个参考?我在哪里可以设置 azure URL?什么时候被覆盖(在部署期间)? ...(我的 web.config 中没有这个 ApiBaseUrl)
猜你喜欢
  • 2013-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-26
  • 1970-01-01
  • 2013-08-29
相关资源
最近更新 更多