Чтение значений web.config в Classic ASP - PullRequest
8 голосов
/ 31 августа 2011

Я унаследовал устаревший классический asp-сайт, который мне нужно поддерживать, и я нахожусь в процессе настройки среды разработки / отладки, поэтому мне не нужно работать на рабочем сервере.

код немного беспорядок, и в разных файлах .asp разбросаны сотни строк подключения.Все они содержат жестко запрограммированные ссылки на сервер SQL и т. Д.

Я действительно не хочу заменять все эти параметры настройками БД в локальной среде разработки, поэтому мне было интересно, есть липростой способ получить классический asp для чтения из файла .net web.config.Таким образом, я мог бы изменить все жестко запрограммированные строки подключения для чтения из этого единого места, а затем мне нужно было только определить детали сервера в одном месте.

Это означало бы, что я мог бы тогда написать код &отлаживать локально, и все, что мне нужно сделать, это изменить пару значений в web.config перед развертыванием.

Пожалуйста, предоставьте четкие примеры в своем ответе, так как я новичок в классическом aspдействительно не нравится это на этом этапе.Не могу дождаться, чтобы перестроить все это в .net;)

Спасибо

Ответы [ 2 ]

23 голосов
/ 31 августа 2011

Обычное место для этого в классическом ASP - переменная приложения в файле global.asa:

SUB Application_OnStart
    application("connectionstring")= "[your connectionstring]"
END SUB

Затем вы можете использовать application("connectionstring") на каждой странице без необходимости включать на странице.

6 голосов
/ 31 августа 2011

Просто используйте серверное включение со всеми необходимыми настройками приложения. Это будет гораздо проще (и быстрее) реализовать, чем чтение web.config, и даст вам такую ​​же гибкость.

config.asp

<%
Dim connectionString
connectionString = "your connectionstring here"
%>

Default.asp

<% Option Explicit %>
<!-- #include virtual="config.asp" -->
<%
'---
' ... use connectionString here
'---
%>

Исходя из того, что вы говорите, вы можете улучшить остальную часть своего наследия, используя SSI и в других местах.

...