Atualmente, a construção de sites de hospedagem virtual é popular. Eu também tenho um site e também sou um webmaster. Depois de quase um ano de trabalho, sinto que toda vez que o programa do site é atualizado, primeiro vou ao site oficial para ler o anúncio e depois baixar o pacote de atualização para a área local, descomprimir e fazer upload do FTP para o host virtual. Essas são tarefas físicas cansativas, e eu tenho preguiça de ser muito preguiçoso, por isso sou fantástico e achei que seria ótimo se o programa pudesse ser atualizado automaticamente. Por isso, pensei sobre isso e escrevi este artigo, esperando que seja útil para os desenvolvedores de programas da Web. Isso é apenas para ASP, porque eu só sei asp :-(
Vamos primeiro analisar o processo de atualização dos programas tradicionais do Win32 (como o software antivírus). Ele depende do programa de atualização do software para conectar -se ao servidor através da rede para analisar e baixar o arquivo de atualização para a área local.
O programa da Web é um pouco diferente porque é executado no servidor da web. Em última análise, ele precisa substituir os arquivos no servidor de atualização do servidor da Web, e o computador do webmaster é apenas uma transferência. Se você copiar diretamente os arquivos no servidor de atualização para o servidor da Web (sem trânsito pelo webmaster), a atualização automática será alcançada.
Felizmente, o sistema vem com um componente Microsoft.xmlhttp para acessar a Web. Ele pode ser chamado no ASP para conectar -se ao servidor de atualização para baixar o arquivo de atualização.
O código a seguir é um exemplo de download de um arquivo usando Microsoft.xmlHttp:
<%
Setxpost = createObject ("microsoft.xmlhttp")
xpost.open "get", "http://www.0x54.org/test.exe", false
xpost.send ()
Setsget = CreateObject ("adodb.stream")
sget.mode = 3
sget.type = 1
sget.open ()
sget.write (xpost.Responsebody)
sget.savetofileServer.mappath ("update.exe"), 2
Setsget = nada
Setspot = nada
Response.Write ("Baixe o arquivo com sucesso! <br>")
%>
O código acima é salvar http://www.0x54.org/test.exe no diretório atual do servidor da web. Quanto ao maior uso do Microsoft.xmlHttp, verifique o MSDN.
Se houver muitos arquivos, o Microsoft.xmlHttp será chamado várias vezes para se conectar à rede, e alguns arquivos poderão falhar em atualizar em uma determinada conexão. Para evitar isso, é melhor empacotar todos os arquivos em um arquivo e baixá -lo na Web uma vez antes de descompactá -lo.
Haha, a embalagem mencionada aqui não é pacote rar ou zip, mas nós mesmos os definimos. Por exemplo, consulte todos os arquivos em um e depois os separe de acordo com as marcas especiais. Não é tão problemático agora, porque existe um método pronto. Usamos o método de usá -lo: Coloque todos os arquivos (formulário binário) e suas informações de caminho no banco de dados de acesso.
O seguinte arquivo VBS (do Ocean Top 2006Plus) é embalar todos os arquivos no diretório atual:
Dimn, WS, FSOX, ThePath
SetWs = CreateObject ("wscript.shell")
Setfsox = createObject ("script.filesystemoBject")
thepath = ws.exec ("cmd/ccd"). stdout.readall () & "/"
I = Instr (ThePath, Chr (13))
ThePath = esquerda (o caminho, i-1)
n = len (o caminho)
OnErrorReSumenext
AddTomdb (ThePath)
Wscript.echo "O diretório atual foi embalado, o diretório raiz é o diretório atual"