Recomendado: Use procedimentos armazenados para implementar a paginação de dados ASP 1. Crie a tabela tiku_koushiif (selecione * de dbo.sysObjects onde id = object_id (n '[dbo]. [Tiku_koushi]') e objectProperty (id, n'isusertable ') = 1) tabela de gota [dbo].
ASP (Página do servidor Active) é uma tecnologia dinâmica de desenvolvimento de páginas da web com base na plataforma PWS (servidor da web pessoal) e IIS (Internet Information Server) lançada pela Microsoft, que agora está se tornando mais madura e perfeita. Aqui temos apenas algumas discussões simples sobre otimização de código.
1. Declare as variáveis VBScript
No ASP, o VBScript recebe um forte suporte e pode integrar perfeitamente as funções e métodos do VBScript, que fornecem grande conveniência para estender as funções existentes do ASP. Como o conceito de tipos de variáveis foi borrado no ASP, muitos programadores estão acostumados a não declarar variáveis VBScript durante a interação entre asp e VBScript, o que aumenta a carga de análise do servidor e, portanto, afeta a velocidade de solicitação de resposta do servidor.
Em vista disso, podemos forçar o usuário a executar declarações variáveis no VBScript, como no VB. O método de implementação é colocar <% opção explícita%> no início da linha do programa ASP.
2. Encoda o endereço da URL
Quando usamos o ASP para gerar dinamicamente um endereço de URL com parâmetros e saltar, é normal analisar no IE, mas ao navegar no NetScrape, há erros da seguinte forma:
Erro HTTP 400
400 solicitação ruim
Devido à sintaxe malformada, a solicitação não pôde ser entendida pelo servidor.
O cliente não deve repetir a solicitação sem modificações.
A solução é usar o método de urlencode do objeto de servidor interno ASP para que a codificação de URL codifica os parâmetros de URL gerados. O exemplo é o seguinte:
<%
Url = xur.asp
var1 = nome de usuário = & server.urlencode (xur)
var2 = & Company = & Server.urlencode (Xurstudio)
var3 = & telefone = & server.urlencode (021-53854336-186)
Response.Redirect URL &? & VAR1 & VAR2 & VAR3
%>
3. Limpe o objeto
Depois de usar o objeto, primeiro use o método de fechamento para liberar os recursos do sistema ocupados pelo objeto; Em seguida, defina o valor do objeto como nada para liberar o objeto para ocupar a memória. Naquela época, eu bati meu IIS criando mais de 100 registros em uma página sem objetos claros. O código a seguir usa o conteúdo do banco de dados para criar uma lista suspensa. O exemplo do código é o seguinte:
<% mydsn = dsn = xur; uid = xur; pwd = xur
mysql = selecione * de autores onde AU_ID <100
Definir ConntaMP = server.createObject (adodb.connection)
Conntamp.open mydsn
Definir RSTemp = ConntaMP.Execute (MySQL)
Se RSTemp.eof então
O banco de dados de resposta.write está vazio
Response.Write MySQL
Conntamp.close
Definir ConntaMP = nada
resposta.END
final se %>
< %Faça até RSTEMP.EOF %>
<%
RSTEMP.MoveNext
laço
RSTEMP.CLOSE
Definir RSTemp = nada
Conntamp.close
Definir ConntaMP = nada
%>
4. Crie uma consulta SQL usando strings
O uso de strings para estabelecer consultas não acelera a velocidade de análise do servidor. Pelo contrário, também aumentará o tempo de análise do servidor. Mas ainda é recomendável usar strings em vez de instruções simples de consulta para consultar. A vantagem disso é que ele pode descobrir rapidamente o problema do programa, facilitando e gerando com eficiência o programa. Exemplos são os seguintes:
<%mysql = selecione *
mysql = mysql e de editores
mysql = mysql & where state = 'ny'
Response.Write MySQL
Definir RSTemp = ConntaMP.Execute (MySQL)
RSTEMP.CLOSE
Definir RSTemp = nada
%>
5. Use Case para selecionar a condição
Ao fazer seleção condicional, tente usar as instruções de caso e evite usar as instruções if. O uso de instruções de caso pode tornar o programa fluido e executar mais rápido do que as instruções se. Exemplos são os seguintes:
<%
Para i = 1 a 1000
n = i
Response.Write AddSuffix (n) & <br>
PRÓXIMO
%>
<%
Função addSuffix (num)
NUMPART = Right (num, 1)
Selecione o caso Numpart
Caso 1
Se Instr (num, 11) então
num = num & th
OUTRO
num = num & st
Final se
Caso 2
Se Instr (num, 12) então
num = num & th
OUTRO
num = num & nd
Final se
Caso 3
Se Instr (num, 13) então
num = num & th
OUTRO
num = num & rd
Final se
Caso 4
num = num & th
Caso mais
num = num & th
Final Selecione
AddSuffix = num
Função final
%>
6. Use Constantes definidas no arquivo Adovbs.inc para abrir o conjunto de registros
Ao abrir um conjunto de registros, você pode definir o tipo de cursor e o tipo de bloqueio que o conjunto de registros é aberto.
Existem algumas constantes definidas no arquivo Adovbs.inc para definir esses tipos. O arquivo Adovbs.inc é salvo no diretório/inetpub/iissamples/iisamples. A seguir, são apresentados vários tipos de cursor e bloqueio comumente usados.
Tipo de cursor:
O cursor AdotenFowardonly só pode avançar; O cursor Adotenkeyset pode avançar ou para trás. Se um usuário adicionar um registro, o novo registro não aparecerá no conjunto de registros; O cursor adondinâmico é dinâmico e aleatório; O conjunto de registros ADOWENTATIC não reflete modificações de registros causadas por outros usuários.
Tipo de bloqueio:
AdlockReadney não pode modificar os registros no conjunto de registros; AdlockPessimistic o trava ao editar um recorde; AdlockOptimstic bloqueia o método de atualização do conjunto de registros somente quando os registros AdlockbatchopeImstic só podem ser atualizados em lotes.
<!-#incluir virtual =/Adovbs.inc->
<%
ConnectMe = dsn = xur; uid = xur; pwd = xur
sqltemp = selecione * de editores onde nome = 'xur'
Definir RSTemp = server.createObject (adodb.recordset)
RSTEMP.OPEN SQLTEMP, CONNECTME, ADOWENSTATIC, AdlockOptimstic
Response.write rstemp.recordCount & Records em <br> & sqltemp
RSTEMP.CLOSE
Definir RSTemp = nada
%>
7. Evite a definição de objeto no arquivo global.asa
Como o conteúdo do arquivo global.ASA pode ser referenciado por todos os arquivos no site, sem dúvida, definir objetos no arquivo global.asa pode economizar muita duplicação.
Por exemplo, na função Application_onstart em global.asa, é feita a seguinte definição:
<%Subpplication_onstart
Definir aplicativo (theconn) = server.createObject (adodb.connection)
Final sub %>;
Isso permite que você faça referências semelhantes em qualquer código no site:
<%
mysql = selecione * de editores onde estado = 'xur'
Definir RSTemp = Application (TheConn) .Execute (MySQL)
%>
Da mesma forma, o objeto de conjunto de registros pode ser criado na função session_onstart
<%Subssion_onstart
Definir sessão (RSTEMP) = server.createObject (adodb.recordset)
END SUB %>
Então, as seguintes citações são feitas no site:
<%
mysql = selecione * de editores onde estado = 'xur'
Definir sessão (RSTEMP) = CONNTEMP.EXECUTE (MYSQL)
%>
No entanto, fazer isso também tem um grande impacto negativo. Como as variáveis de aplicação e sessão liberam apenas os recursos ocupados ao fechar o site, os parâmetros da sessão desperdiçarão muita memória desnecessária e, neste momento, a variável do aplicativo se torna um gargalo no desempenho do servidor.
Solução:
Crie uma página ASP para definir objetos e introduza esta página ASP na página em que esses objetos precisam ser chamados. Supondo que o nome da página do ASP do objeto definido seja definido. ASP, a página pode ser introduzida adicionando a seguinte instrução à página ASP correspondente.
<!-#inclua virtual =/define.asp->
Ao introduzir páginas, é melhor não incluir a instrução <%@idioma = vbscript%> no arquivo ASP a ser introduzido. Porque no arquivo ASP, pode haver apenas uma linguagem de análise de script definida por @.
8. Proteção à segurança
O ASP fornece um bom mecanismo de proteção de código e todo o código ASP é executado no lado do servidor e retorna apenas o resultado da execução do código do cliente. Mesmo assim, na versão antiga do IIS, você pode visualizar o código -fonte do ASP após o nome do arquivo :: $ dados, que já se enquadram no escopo da segurança do servidor da web e não estão dentro do escopo deste artigo. A seguir, são apresentadas duas precauções de segurança simples.
Embora seja recomendável introduzir arquivos com o INC ASP como extensão, ainda é recomendável usar o ASP como extensão para introduzir arquivos aqui. Quando esses códigos são executados em um servidor da Web com um mecanismo de segurança ruim, você pode navegar no conteúdo do arquivo importado simplesmente inserindo a barra de endereços (Inc é a extensão). Isso ocorre porque no servidor da web, se uma biblioteca de conexão dinâmica que resolve um determinado tipo (como o INC) não for definido, o arquivo será exibido no código -fonte.
Não coloque o arquivo de banco de dados dentro da estrutura do site, para que, quando uma pessoa maliciosa obtenha o caminho do banco de dados, ele possa obter facilmente o banco de dados e alterar o conteúdo do banco de dados arbitrariamente. Uma abordagem melhor é estabelecer um DSN (nome da fonte de data) para o banco de dados e acessar o DSN diretamente ao acessar o banco de dados.
Compartilhar: Dicas de ASP: Melhore a eficiência da coleta de solicitações Melhore a eficiência do uso da coleção de solicitações para acessar uma coleção ASP para extrair um valor é um processo de consumo de recursos que consome tempo e computação. Como esta operação contém uma série de pesquisas por conjuntos relacionados, isso é muito mais lento do que acessar uma variável local. Então, se você planeja estar na página