Чтение конфигурационных файлов .net с использованием Javascript (не javascript на странице aspx) - PullRequest
2 голосов
/ 01 апреля 2009

Существует ли простой способ считывания настроек из файла (asp.net) web.config с использованием javascript на странице html?

Кстати, я нашел примеры передачи настроек конфигурации в блоки javascript на страницах aspx, например

<script type="text/javascript">
function ReadConfigSettings(){   
   var wibble = '<%=ConfigurationManager.ConnectionStrings["MyConnString"].ConnectionString %>'   }
</script>

но это НЕ то, что я пытаюсь сделать. Мне нужно прочитать настройки на отдельной html-странице.

Ответы [ 3 ]

4 голосов
/ 01 апреля 2009

Если HTML / Javascript выполняется из виртуального каталога в IIS, то прямого доступа к файлу .config в Javascript нет, поскольку обработчики asp.net предотвращают обслуживание файлов «.config». Поэтому не нужно загружать файл в запрос IFrame / Ajax.

Одной из опций является файл .aspx на сервере, который возвращает применимое значение из файла .config, поэтому:

http://myhost/mydirectiory/GetConfigurationValue.aspx?key=MyConnString

, вызванный из Javascript, вернет XML «connectionStringGoesHere», который затем может быть использован .?

1 голос
/ 01 апреля 2009

Вы не можете. Файл конфигурации находится на стороне сервера и недоступен (намеренно и совершенно правильно) со стороны клиента.

0 голосов
/ 30 января 2012

Старый вопрос, но другое предложение, хотя оно может не соответствовать вашему требованию для доступа с использованием чистой HTML-страницы ...

Однако я пытаюсь сделать что-то подобное Возможно, что-то вроде на главной странице

<script type="text/javascript">
 function ReadConfigSettings(){   
 Window.wibble = '<%=ConfigurationManager.ConnectionStrings["MyConnString"].ConnectionString %>'           
}
</script>

это делает Window.wibble глобальной переменной, доступной из других мест.

Варианты этого включают помещение его в скрытый входной div и доступ к нему через jQuery / ElementById в другом месте ... Что-то мне нравится такой

<input id="connString" type="hidden" value="@Mvc.Utils.GetConnectionString()" />

По существу, просто используя сторону сервера для добавления значений в html, а затем загружая значения на стороне клиента позже.

Однако, поскольку вам требуется чистый HTML и передаваемая им строка соединения, это, вероятно, не работает по соображениям безопасности и т. Д., Но работает для чтения простых значений веб-конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...