1. O requisito mais básico para a robustez dos manipuladores de erros (exceto) é o tratamento e captura de erros de programa. No ASP.NET, o tratamento de erros tem o mesmo mecanismo de outras linguagens de programação. Você pode usar Try...Catch. ..Finalmente e outros métodos Esta é uma grande melhoria em comparação com ASP. Além disso, o uso desses métodos de tratamento de erros pode melhorar muito a legibilidade do programa e a velocidade de depuração do programa. Quando essas vantagens são combinadas, devemos prestar mais atenção a isso.
Em relação ao tratamento de erros, podemos consultar este artigo (em inglês):
http://www.123aspx.com/redir.aspx?res=28336
2. Processamento de strings Em web design, o processamento de strings é quase o mais comum. Depois de usar o ASP.NET, o processamento de strings é mais rápido que o ASP. Além disso, no ASP.NET, uma classe de processamento de strings StringBuilder é especialmente adicionada. Use esta classe para concluir algumas operações de string comuns, e o mais importante é que usar StringBuilder pode ser muito útil. melhorar a velocidade do processamento de strings.
No ASP.NET, o mais comum é usar “&” para conectar duas strings:
Dim myOutputString As String = "Meu nome é"
Dim myInputString As String = "Alex"
minhaOutputString = minhaOutputString & minhaInputString
Response.Write(myoutputString)
Agora, vamos dar uma olhada no uso do StringBuilder. Ao usar o StringBuilder, podemos realizar algumas operações básicas em strings, como Acrescentar, Substituir, Inserir, Remover, etc.
(1) Uso de Append no StringBuilder
Append é o mesmo que Append em outros idiomas, que consiste em adicionar outros caracteres no final da string.
Dim sb como StringBuilder = New StringBuilder()
sb.append( "<table border='1' width='80%'>" )
Para i = 0 Para RowCount - 1
sb.Append("<tr>")
Para k = 0 Para ColCount - 1
sb.Append("<td>")
sb.Append(dt.Rows(i).Item(k, DataRowVersion.Current).toString())
sb.Append( "</td>" )
Próximo
sb.Append("<tr>")
Próximo
sb.Append( "</table>")
Dim strOutput como String = sb.ToString()
lblEmpresa.Text = strOutput
No programa acima, o método Append é usado para realizar a saída de uma tabela. Uma coisa a observar é que o StringBulider deve primeiro usar o método ToString() para convertê-lo no tipo String antes que possa ser gerado diretamente. Nos exemplos acima, tudo o que vemos é anexar uma string direta. Na verdade, este método tem uma função muito conveniente, ou seja, pode anexar diretamente outros tipos de variáveis, como anexar diretamente um valor do tipo inteiro. a saída será automaticamente convertida em uma string depois:
Sub Page_Load (objeto Source As, E As EventArgs)
Dim sb como System.Text.StringBuilder
Dim varother como inteiro
varother=9999
sb = novo System.Text.StringBuilder()
sb.append("<font color='blue'>Você pode anexar outros tipos: </font>")
sb.append(varother)
Resposta.write(sb.toString())
Finalizar sub
(2) Uso de outros métodos em strings Também podemos usar outros métodos.
O método Insert pode inserir outros caracteres na posição especificada. Método de uso: Insert (inserir posição, inserir caractere);
O método Remove pode excluir caracteres alfanuméricos especificados em uma posição especificada. Método de uso: Remover (posição real, número de caracteres);
O método de substituição pode substituir caracteres especificados. Método de uso: substituir (string substituída, string de substituição)
Para uma introdução detalhada e uso de strings, consulte o seguinte artigo (em inglês):
http://aspfree.com/aspnet/stringbuilder.aspx
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemTextStringBuilderClassTopic.asp
3. Fechando o link do banco de dados Connection e DataReader Ao utilizar a programação ASP, já sabemos que após utilizar a conexão com o banco de dados, a conexão deve ser fechada e então configurada como NoThing. No Asp.NET, ainda precisamos usá-lo dessa forma. No entanto, no ASP.NET, devido ao uso do ADO.NET, existem algumas diferenças sutis em alguns aspectos de processamento relacionados, e essas diferenças geralmente também são. o que precisamos prestar mais atenção ao projetar. Agora, vamos dar um exemplo para ver quais problemas precisam de atenção nas operações comuns do ADO.NET.
(1) Exemplo 1
Dim myConnection As SqlConnection = new SqlConnection(ConfigurationSettings.AppSettings("DSN_pubs"))
Dim myCommand As SqlCommand = new SqlCommand("Selecione pub_id, pub_name dos editores", myConnection)
Dim myDataReader como SqlDataReader
Tentar
minhaConexão.Open()
meuDataReader = meuCommand.ExecuteReader(CommandBehavior.CloseConnection)
dropDownList1.DataSource = meuLeitor de Dados
dropDownList1.DataBind()
Capturar myException como exceção
Response.Write("Ocorreu um erro: " & myException.ToString())
Finalmente
Se não myDataReader não for nada, então
'Fecha o Leitor de Dados
meuDataReader.Close()
Terminar se
Finalizar tentativa
No exemplo acima, notamos que apenas o DataReader foi fechado, e não o Connection. Por que? Observe atentamente o método ExecuteReader acima. Acontece que os parâmetros ExecuteReader são definidos. Após a execução do ExecuteReader, a conexão será fechada automaticamente. Portanto, após configurar isso, não há necessidade de fechar manualmente a Conexão.
(2) Exemplo 2
Dim myConnection As SqlConnection = new SqlConnection(ConfigurationSettings.AppSettings("DSN_pubs"))
Dim myCommand As SqlCommand = new SqlCommand("Selecione pub_id, pub_name dos editores", myConnection)
Tentar
minhaConexão.Open()
dropDownList1.DataSource = meuCommand.ExecuteReader()
dropDownList1.DataBind()
Capturar myException como exceção
Response.Write("Ocorreu um erro: " & myException.ToString())
Finalmente
Se não myConnection não for nada AndAlso ((myConnection.State And ConnectionState.Open) = ConnectionState.Open) Então
minhaConexão.Close()
Terminar se
Finalizar tentativa
No exemplo acima, descobrimos que o DataReader não estava fechado. Por que? Na verdade, no código acima, o objeto DataReader não é gerado diretamente e, claro, não há como fechá-lo. Uma coisa a observar é que antes de fechar a Conexão, o programa primeiro determina se a Conexão está aberta. Caso contrário, não há necessidade de fechá-la.
4. Use Web.Config/Maching.Config para salvar dados comumente usados. Alguns dados que precisamos usar com frequência. Por exemplo, ao usar ADO.NET, o mais comum é a instrução de conexão do banco de dados. informações no aplicativo. Claro, isso também pode ser feito no ASP.NET. Porém, o ASP.NET já fornece um arquivo de configuração WEB.Config, então é melhor salvar essas informações em WEB.Config. Claro, também podemos salvá-las em Machine. Config, porém, neste caso, todo o site deve ser utilizado, então geralmente usamos Web.Config. Agora, vejamos o uso específico deste arquivo.
(1) Configurações do arquivo Web.Config Primeiro, vamos dar uma olhada nas configurações do Web.Config. Adicionamos os dois itens a seguir neste arquivo.
<configuração>
<configurações do aplicativo>
<add key="dsn" value="meuservidor"/>
<add key="someotherkey" value="somevalue"/>
</appsettings>
</configuração>
(2) Uso de variáveis O arquivo XML acima define duas variáveis, dsn e someotherkey. Agora vamos ver como usá-las no programa:
<html>
<linguagem de script = "VB" runat = servidor>
Sub Page_Load (Sender como objeto, E como EventArgs)
Dim AppSettings como Hashtable = Context.GetConfig("appsettings")
DSN.Text = AppSettings("dsn")
SomeOther.Text = AppSettings("alguma outra chave")
Finalizar sub
</script>
<corpo>
Configuração DSN: <asp:label id="DSN" runat=server/> <br>
Alguma outra configuração: <asp:label id="SomeOther" runat=server/>
</body>
</html>
Vemos no programa acima que usar variáveis definidas desta forma é muito simples e conveniente.
5. Use .NET para depurar o programa
Depurar programas ASP sempre foi a parte mais difícil de escrever ASP. Os programadores ASP provavelmente têm um conhecimento profundo disso, porque todo mundo usa Response.write para depurar. A maior desvantagem desse tipo de depuração é que quando terminamos a depuração, devemos deletar ou comentar as informações uma por uma. Pense bem, se o código do programa atinge centenas de linhas ou um programa com muitas páginas, que chato esse tipo. de trabalho será. O que mais temo é uma coisa: se você esquecer de excluir essas gravações de depuração, algumas informações de depuração indecentes poderão aparecer quando o usuário as usar.
Depois de usar o ASP.NET, podemos definir Trace diretamente para depurar o programa. Os problemas mencionados acima podem ser facilmente resolvidos, se você estiver familiarizado com ele, o Trace pode ser implementado através de páginas específicas e no arquivo de configuração Web.Config. Desta forma, após a depuração do programa, basta definir Trace como Off diretamente. desta forma, o programa não terá funcionalidade de depuração.
(1) Implementação de depuração de página Quando uma página específica precisa implementar a função de depuração, podemos configurá-la assim:
<%@ Idioma da página="VB" Trace="True" %>
(2) Defina WEB.Config e implemente-o em WEB.CONFIG Também podemos habilitar a depuração do programa:
<configuração>
<sistema.web>
<trace enabled="true" requestLimit="10" localOnly="false"/>
</system.web>
</configuração>
Depois de usar as configurações acima para ativar o Trace, podemos usar o Trace para depurar o programa em um programa específico, como:
Trace.Write("Estas são algumas informações de depuração personalizadas")
Ou variáveis de depurador:
Trace.Write("Esta é minha variável e seu valor é:" & myVariable.ToString())
Pelas configurações acima, podemos ver que no ASP.NET a função de depuração do programa já é muito conveniente e simples.