Лучший способ сохранить настройки конфигурации в моем приложении asp.net mvc
Я работаю над веб-приложением asp.net mvc, которое выполняет некоторые вызовы API для других веб-приложений. но в настоящее время я храню имя пользователя API, пароль API и URL-адрес API внутри моего кода. Как следует: -
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-адресов в будущем). И еще одна таблица для хранения имени пользователя и пароля. Итак, создайте таблицы базы данных правильно, чтобы сохранить эти настройки.
Ответы
Ответ 1
Чтобы сохранить эти параметры, вы должны использовать файл Web.Config(API конфигурации). Таким образом, вы сможете обновлять настройки без необходимости перекомпилировать все свое приложение каждый раз. Это самый стандартный способ хранения настроек в приложении Web (MVC или WebForms) и дает возможность шифровать конфиденциальные настройки прозрачно для вашего приложения.
Вы можете получить доступ к сохраненным настройкам с помощью класса WebConfigurationManager. Здесь вы можете найти несколько примеров того, как его использовать.
Пример кода:
Web.config appSettings:
<appSettings>
<add key="ApiUserName" value="MySampleUsername" />
</appSettings>
Код С#:
string userName = System.Web.Configuration.WebConfigurationManager.AppSettings["ApiUserName"];