O arquivo global.asa é um arquivo opcional. Os usuários podem declarar objetos de sessão e aplicativos no script de eventos especificados. Hoje, o editor do FOOXIN Technology Channel coletou e classificou informações relevantes especialmente. Amigos interessados podem ir ao artigo a seguir para saber mais!
Todos sabemos que .asa é o nome do sufixo do arquivo. É o acrônimo para aplicativo de servidor ativo.
Na verdade, é um arquivo opcional no qual o escritor do programa pode especificar scripts de eventos e declarar objetos com escopos de sessão e aplicativo. O conteúdo deste arquivo não é usado para ser exibido ao usuário, mas para armazenar informações e objetos de evento usados globalmente pelo aplicativo. Este arquivo deve ser armazenado no diretório raiz do aplicativo. Cada aplicativo pode ter apenas um arquivo global.asa.
O equívoco mais comum sobre os arquivos globais.ASA é que ele pode ser usado como uma biblioteca para funções e sub -rotinas de uso geral. O arquivo global.asa pode ser usado apenas para criar referências e capturar startups de objetos, bem como objetos de aplicativo final e objetos de sessão.
O arquivo global.asa é acessado com base em eventos no nível da sessão e é chamado nos três casos a seguir:
O formato de arquivo padrão do global.asa é o seguinte:
<SCRIPT LANGUAGE="VBScript" RUNAT="Server"> Sub Application_OnStart 'Application_OnStart Run End Sub Sub Session_OnStart The first time a customer accesses the homepage of the application 'Session_OnStart Run End Sub Sub Session_OnEnd 'Session_OnEnd Run End Sub Session_OnEnd 'Session_OnEnd Run End Sub Application_OnEnd 'Application_OnEnd Run End Sub when the site's WEB server is down </SCRIPT>
1. Session_onstart
Vamos primeiro analisar um código que controla os usuários para inserir a página:
1. Global.asa (colocado sob o diretório raiz do diretório virtual depurado)
<Script Language = "VBScript" Runat = "Server"> Sub Session_onstart 'Enquanto o usuário entrar neste site pela primeira vez, ele pulará para a página inicial Response.Redirect (http://www.jb51.net) SUB </SCRIPT>
Em seguida, depure todos os arquivos no diretório virtual atual e você descobrirá que todas as páginas saltam para http://www.webjx.com/ <
Através deste exemplo de "entrada forçada em uma determinada página", pode -se imaginar que é muito necessário quando a página inicial precisa ser seguida.
Vamos continuar observando os eventos session_onstart e session_onend com um exemplo de "número de usuários on -line"
2. Session_onend
2. Global.asa (colocado sob o diretório raiz do diretório virtual depurado)
<Idioma do script = vbscript runat = servidor> subpumping_onstart 'o valor inicial é 0 aplicativo ("online") = 0 final sub -session_onstart' Um acesso ao usuário adiciona 1 aplicativo.lock Application ("online") = Aplicativo ("Online") + 1 Application.Unlock End Sub Substess_Onend 'O final de um processo de usuário, contagem de 1 (PS 1 (se não existe. = Application ("Online") - 1 Application.Unlock END SUB </SCRIPT>3. Online.asp
<%se request.QueryString ("logout") = "true" então session.abandon () Response.end end Se%> existem atualmente <%= aplicativo ("online")%> online <a href = "online.asp? Logout = true"> exit </a>Você acha que existe apenas um aplicativo ("online") na página e também é referenciado. Então, de onde vem seu valor? Esta é a chave do arquivo global.asa. Você pode abrir o Windows nesta máquina, fechar o Windows ou sair da depuração dos dois métodos.
3. Continue a refinar
Você descobrirá que os efeitos de fechar a janela após a conexão "Exit" são diferentes de fechar a janela diretamente. Como a sessão existe a tempo, ao fechar diretamente a janela, o evento session_onend não pode ser acionado, então como essa idéia quase impossível pode ser realizada?
Como todos sabemos, quando uma página da web é fechada, ela pode ser acompanhada por um evento OnUnload. Então, desde que o Onunload puder ser executado, não é tudo o que precisamos? Diga menos bobagem, modifique online.asp
<%se request.QueryString ("logout") = "true" então session.abandon () resposta.end end if%> <corpo onunload = javascript: window.open ("exit.asp")> existem atualmente <%= aplicativo ("online")%> online <a href = ".asp ?sp?Observe que, quando online.asp for onunload, exit.asp será aberto. Em seguida, basta definir session.abandon () em exit.asp e não ok.
exit.asp
<%session.abandon ()%> <cript> self.close () </script>
Obviamente, um script foi adicionado para se fechar imediatamente após a sessão ser registrada. Agora, apenas um aplicativo da web com estatísticas on -line é suficiente.
4. Estudo aprofundado de global.asa
Desde a depuração acima, você aprenderá com um exemplo e o aplicará a outras pessoas e definitivamente fará uma pergunta: como controlar o número de usuários registrados online? Vamos ler os seguintes documentos um por um:
4. Global.asa (colocado sob o diretório raiz do diretório virtual depurado)
<Script Language = "VBScript" runat = "Server"> subpold_onstart Application ("online") = 0 End Sub Subssion_Onstart End Sub Subssion_Onend se session.Contents ("Pass"), então determine se o SUBTON/APLICAÇÃO SUB SUNTENCOT/APLICAÇÃO SUB SUNGUT/ENDENT END END END END ENDENENENEN. 1 APLICAÇÃO.Observe que o bloco session_onstart neste global.asa não causa nenhum evento.
Como uma vez que um usuário acessa o servidor, independentemente de o usuário fazer login ou não, um evento OnStart será gerado. Agora, tudo o que você precisa é fazer login no usuário on -line, para que você não possa adicionar 1 ao evento OnStart.
Além disso, como o evento ONEND será gerado, independentemente de a sessão do usuário logado ter acabado (se um visitante visitar o servidor, mas não estiver conectado, o evento Onend também será gerado após o término da sessão), portanto, uma instrução se for usada no evento Session_onend para determinar se é o evento ONEND do usuário registrado. Nesse caso, o número de pessoas on -line será reduzido em 1.
E vale a pena notar que o uso de session.contents ("pass") é porque o uso de objetos de sessão é proibido no evento Onend, mas a variável da sessão pode ser chamada usando uma coleção de objetos de sessão. Em outras palavras, você não pode escrever sessão ("Passe") diretamente, mas precisa escrever session.contents ("Pass").
5. login.asp
Membro atualmente registrado <%= Application ("Online")%>.
<a href = "login.asp? logout = true"> exit </a> <%else%> <formulário action = "login.asp" method = "post"> <input type = "text" name = "name"> <br> <brut type = "senha" name = "pwd"> <br> <brut typ = "sigin" name "="
Basta detectar que, quando o nome do CNBRUCE e a senha é CNROSE, uma sessão ("pass") = true é gerada, que é julgada no global.asa.
5. Continue a usar sua imaginação
Pense nisso, pense bem novamente. Não basta contar quantas pessoas estão online e também exige julgar o status on -line do usuário.
Você pode imaginar o método básico. Quando o usuário faz login, defina o on -line como 1 em login.asp (faça o upload se houver um banco de dados), mas quando o usuário estiver offline, defina o on -line como 0. Para melhorá -lo, você precisa modificar o evento session_onend e definir o on -line como 0 no evento (o mesmo valor será enviado) ...
Obviamente, global.asa é muito mais do que isso. Mas não precisamos nos apressar para dominar tudo agora. Quando entrarmos em contato com o banco de dados, retornaremos para examiná -lo e continuar estudando o arquivo. Acredito que até então vamos perceber muito. Então, vamos entender o acima completamente primeiro.
Espero que, durante este artigo, analise brevemente o uso de arquivos globais.ASA do ASP, o que pode lhe trazer mais ajuda. Mais conhecimento técnico estará disponível na rede de canais de tecnologia Wuxin!