在我的asp.net mvc应用程序中存储配置设置的最佳方法

joh*_* Gu 17 asp.net-mvc

我正在开发一个asp.net mvc Web应用程序,它可以对其他Web应用程序执行一些API调用.但目前我在我的代码中存储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
                    {
Run Code Online (Sandbox Code Playgroud)

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

Mer*_*ovi 37

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

您可以使用WebConfigurationManager类访问存储的设置.在这里,您可以找到一些如何使用它的示例.

代码示例:

Web.config appSettings:

<appSettings>
    <add key="ApiUserName" value="MySampleUsername" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)

C#代码:

string userName = System.Web.Configuration.WebConfigurationManager.AppSettings["ApiUserName"];
Run Code Online (Sandbox Code Playgroud)

  • 您可以使用以下命令检索它们:例如,ConfigurationManager.AppSettings ["Username"] (2认同)