2012-04-20 4 views
1

Я планирую написать файл Global.asa в JavaScript. Когда сеанс или приложение заканчиваются, мне нужно внести изменения в базу данных. В частности, мне нужно разбить строку и использовать ее в запросе в функциях Global.asa. Эта часть меня вообще не озадачивает. Просто часть о передаче переменной сеанса в качестве параметра. Я полагаю, мой Global.asa выглядеть примерно так:
ASP Проблема: возможно ли передавать переменные сеанса в качестве параметров функций в файле Global.asa?

(скажем, две переменные «Variable1» и «Variable2» были переменные сессии)

<script language="JScript" runat="Server"> 
function Application_OnStart() { 
} 

function Application_OnEnd(variable1) { 
} 

function Session_OnStart() { 
} 

function Session_OnEnd(variable2) { 
} 
</script> 

Таким образом, я не уверен, что Я спрашиваю, насколько это возможно. Если да, то какие-нибудь советы? Имейте в виду, что я работаю в ASP, а не ASP.NET. Кроме того, я немного новичок в использовании кода на стороне сервера, поэтому прошу простить мое невежество.

ответ

0

Нет, то, что вы предлагаете, не представляется возможным.

Функции в файле global.asa являются обратными вызовами для событий. Функции получают, все без параметров.

Вы можете использовать объект Session, чтобы сделать то, что хотите.

В своем коде вы можете установить переменный сеанс, как это:

session("userid") = 856 

В вашем global.asa вы можете использовать:

variable1 = session("userid") 
+0

Спасибо! Это ответило на мой вопрос. – user92

-1

Рассматривали ли вы использование VBScript для своей Global.asa? Я никогда не закодирован Global.asa в JavaScript, но вы могли кода его в VB и использовать Session или прикладной уровень переменные:

 
<SCRIPT LANGUAGE=VBScript RUNAT=Server> 

Sub Application_OnStart() 
    'initialize application level variables 
    Application("ConnectionString") = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.mappath("access_db/mydb.mdb") 
End Sub 

Sub Application_OnEnd() 
    Application("ConnectionString") = "" 
End Sub 

Sub Session_OnStart() 
    'initialize session level variables 
    Session("UserIP") = Request.ServerVariables("REMOTE_ADDR") 
End Sub 

Sub Session_OnEnd() 
    Session("UserIP") = "" 
End Sub 

Не уверен, что если вы можете передать переменную в предопределенные функции как таковые , но вы можете использовать переменные Session или Application в любом месте веб-сайта, в том числе в рамках этих функций.

+0

Вы можете использовать все доступные языки сценариев в глобальном. asa файл. Это включает JScript. Вы не можете передавать переменные этим функциям. –

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