В обычных сайтах веб-форм ASP.NET я бы использовал web.configs "appsettings", чтобы добавить данные настройки приложения на сайт. Однако при использовании MVC 3 я не могу получить значения настроек таким образом.
Во-первых, есть 2 файла web.config. Один в корне сайта, второй - в области "Виды". Я предполагаю, что хочу разместить информацию об appsettings в корневом файле web.config, правильно? (помещая его в другой под представлениями, кажется, возникает ошибка, указывающая, что "AppSettings" может появляться только один раз для веб-приложения.)
Когда я пытаюсь его восстановить (С#: System.Configuration.ConfigurationManager.AppSettings [ "SettingName" ]) Я получаю пустое или пустое/нулевое возвращаемое значение. Что я делаю неправильно?
Я должен упомянуть, что я действительно извлекаю эту информацию в файле класса в области "Модели" для установки определенных значений для модели с использованием get; задавать;. Возможно ли, что мне не разрешено делать это в моделях?
В Controller.cs:
WindowsLiveConnect.ServiceConfiguration WLSC = new WindowsLiveConnect.ServiceConfiguration();
ViewBag.ClientID = SC.ClientID; // This returns empty
В web.config
...
<appSettings>
<add key="webpages:Version" value="1.0.0.0"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
<add key="ClientID" value="0000000040062A3F" />
<add key="ClientSecret" value="SUPERSECRETPASSWORD" />
<add key="RedirectURL" value="http%3A%2F%2Fwww.quilnet.com" />
</appSettings>
...
В файле Model.cs:
public class ServiceConfiguration
{
private string clientid;
private string clientsecret;
private string redirecturl;
public string ClientID
{
get { return clientid; }
set
{
clientid = System.Configuration.ConfigurationManager.AppSettings["ClientID"];
}
}
public string ClientSecret
{
get { return clientsecret; }
set
{
clientsecret = System.Configuration.ConfigurationManager.AppSettings["ClientSecret"];
}
}
public string RedirectURL
{
get { return redirecturl; }
set
{
redirecturl = System.Configuration.ConfigurationManager.AppSettings["RedirectURL"];
}
}
}