在MVC 5应用程序中把Web API端点(url)放在哪里

本文关键字:端点 url 在哪里 API Web MVC 应用程序 | 更新日期: 2023-09-27 18:10:39

我正在帮助创建MVC 5 web应用程序。它的模型是通过Web API提供的。目前,Web API的端点被硬编码到我们的控制器中:

public HomeController() {
  string baseUrl = "http://webApi.example/api/";
  string endpoint1 = "endpoint1/{0}";
}

显然这不是最好的方法。然而,我不完全确定我们应该把它们放在哪里。其中一个挑战是应用程序在进入生产环境的过程中必须"经过"不同的环境。例如,它必须在开发环境、QA和最终产品中"按原样"工作(使用最小配置)。

我们考虑了几种方法,例如使用Web.config文件。但这意味着我们必须在每个环境中编辑它……如果有30个开发环境呢?还是300年?我们也考虑过从Windows注册表中读取一些东西,在一个特殊的键下。这可以很容易地移植到所有的环境,并提供一个"通用"的解决方案。

然而,从注册表中读取似乎是一个坏主意(没有证据告诉我它是或不是)。

那么,什么样的架构师、策略或方法可以用来创建一个有效的配置解决方案呢?

在MVC 5应用程序中把Web API端点(url)放在哪里

我一直在使用Web。配置为开发,测试和生产多年。

您当然可以将设置存储在注册表中,尽管Web。配置将更容易(编辑注册表似乎更麻烦)。使用注册表的一个好处是在敏感信息(例如服务帐户密码)的情况下。这将允许基础设施团队或服务器管理员在让开发人员部署Web的同时对密码(注册表键值)保密。配置可以自由更改。在你的情况下,它只是一个简单的URL,谁在乎呢?

无论哪种方式,您都将存储相同数量的值(或者您有30个不同的Web。配置文件或您有30个不同的注册表项)。但是,如果您有30个不同的环境,您可能不需要手动处理这些配置项。您可能处于持续集成和部署的规模,实际上是由软件提供支持的,其中值将根据部署设置是动态的。