在ASP.NETMVC应用程序中存储配置设置的最佳方法是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (57)

我正在研究一个对其他Web应用程序执行一些API调用的asp.net mvc Web应用程序。但目前我在我的代码中存储了API用户名,API密码和API URL。如下:-

using (var client = new WebClient())
                {
                    //  client.Headers[HttpRequestHeader.Accept] = "AddAsset";
                    var query = HttpUtility.ParseQueryString(string.Empty);
                    foreach (string key in formValues)
                    {
                        query[key] = this.Request.Form[key];
                    }

                    query["username"] = "testuser";
                    query["password"] = "……";
                    query["assetType"] = "Rack";
                    query["operation"] = "AddAsset";
var url = new UriBuilder("http://win-spdev:8400/servlets/AssetServlet");
                    url.Query = query.ToString();
                    try
                    {

但是,如果我需要更改API调用设置,则将这些设置存储在我的代码中将不灵活,并且不安全。那么存储这些设置的最佳方式是什么?我正在考虑创建两个用于存储URL的数据库表(可能会有多个URL构成未来)。还有另一张表来存储用户名和密码。因此,创建数据库表格是存储这些设置的正确方法。

提问于
用户回答回答于

应该使用Web.Config文件(配置API)来存储这些设置。这样就可以更新设置,而无需每次重新编译整个应用程序。这是在Web(MVC或WebForms)应用程序中存储设置的最标准方法,并且使可以透明地为应用程序加密敏感设置

可以使用WebConfigurationManager类访问存储的设置。在这里你可以找到一些如何使用它的例子。

代码示例:

Web.config appSettings:

<appSettings>
    <add key="ApiUserName" value="MySampleUsername" />
</appSettings>

C#代码:

string userName = System.Web.Configuration.WebConfigurationManager.AppSettings["ApiUserName"];

扫码关注云+社区

领取腾讯云代金券