2014-02-06 3 views
0

Итак, предыдущий разработчик добавил некоторые переменные приложения в файл Global.asa, но он их сильно закодировал, и мы обнаружили ошибку, которая должна быть динамической. Теперь возможно (или правильно) добавить запрос SQl для извлечения данных и установки переменной приложения в файле Global.asa.SQL-запрос в файле Global.asa

Мы имеем это в global.asa

Application("Email_Sales") = "[email protected]" 

Теперь у нас есть новый менеджер по продажам, и мы даем ей права администратора на нашем портале и ее электронная почта [email protected] Теперь я не хочу менять файл global.asa каждый раз, когда меняет продавец. И поэтому я хочу написать запрос в global.asa. Для какого-то процесса этот продавец получает электронную почту и теперь отправляется на старую электронную почту. Теперь я могу написать запрос и получить новое электронное письмо, в котором идет электронная почта, но это будет во многих местах.

Дайте мне знать, если это хорошо или не хорошо, чтобы написать SQL-запрос в файле global.asa.

Спасибо.

+0

Вы не сказали нам достаточно о том, что сайт должен делать для тех, кто сможет ответить на этот вопрос. Нет причин, по которым вы не можете иметь sql-запрос в качестве переменной приложения, более обычным является использование разных запросов sql на разных страницах .asp. Вы действительно имеете в виду SQL-запрос, а не строку соединения. Global.asa - это стандартное место для подключения srings – John

ответ

1

На самом деле я считаю хорошей идеей размещать динамические переменные приложения в файле global.asa, чтобы поддерживать обслуживание на месте на низком уровне. (Но только если вы нуждаетесь в них в разных случаях по всему сайту, потому что иначе вы могли бы назвать информацию как раз вовремя с небольшой функцией.)

В зависимости от того, как часто вы меняете свои ценности (жизненный цикл приложения?), Вы можете использовать что-то вроде этого:

Sub Application_OnStart() 
    Set Conn = ... 
    Conn.Open ... 
    strSql = "SELECT SALESEMAIL ...." 

    Set objRs = ... 

    If NOT objRs.Eof Then 
     Application("SALESEMAIL") = objRs("SALESEMAIL") 
    End If 

    objRs.Close 
    Set objRs = Nothing 

    Conn.Close 
    Set Conn = Nothing 
End Sub 

Дополнительная информация: When to use Application_Start vs Init in Global.asax?

Смежные вопросы