1. El requisito más básico para la solidez de los controladores de errores (distintos de) es el manejo y la captura de errores del programa. En ASP.NET, el manejo de errores tiene el mismo mecanismo que otros lenguajes de programación. Puede usar Try...Catch. ..Finalmente y otros métodos. Esta es una gran mejora en comparación con ASP. Además, el uso de estos métodos de manejo de errores puede mejorar en gran medida la legibilidad del programa y la velocidad de depuración del programa. Cuando se combinan estas ventajas, debemos prestar más atención a esto.
En cuanto al manejo de errores, podemos consultar este artículo (inglés):
http://www.123aspx.com/redir.aspx?res=28336
2. Procesamiento de cadenas En diseño web, el procesamiento de cadenas es casi el más común. Después de usar ASP.NET, el procesamiento de cadenas es más rápido que ASP. Además, en ASP.NET, se agrega especialmente una clase de procesamiento de cadenas StringBulider. Utilice esta clase para completar algunas operaciones de cadenas comunes y, lo más importante, usar StringBuilder puede ser muy útil. mejorar la velocidad del procesamiento de cadenas.
En ASP.NET, lo más común es usar "&" para conectar dos cadenas:
Dim myOutputString As String = "Mi nombre es"
Atenuar myInputString como cadena = "Alex"
miCadenaSalida = miCadenaSalida y miCadenaEntrada
Respuesta.Escribir(micadenadesalida)
Ahora, echemos un vistazo al uso de StringBuilder. Cuando usamos StringBuilder, podemos realizar algunas operaciones básicas en cadenas, como Agregar, Reemplazar, Insertar, Eliminar, etc. Ahora veamos ejemplos específicos.
(1) Uso de Append en StringBuilder
Append es lo mismo que Append en otros idiomas, que consiste en agregar otros caracteres al final de la cadena.
Dim sb como StringBuilder = New StringBuilder()
sb.append( "<borde de tabla='1' ancho='80%'>" )
Para i = 0 Para RowCount - 1
sb.Append("<tr>")
Para k = 0 A 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()
lblCompany.Text = strSalida
En el programa anterior, el método Append se usa para realizar la salida de una tabla. Una cosa a tener en cuenta es que StringBulider primero debe usar el método ToString () para convertirla al tipo String antes de poder generarla directamente. En los ejemplos anteriores, todo lo que vemos es Agregar una cadena directa. De hecho, este método tiene una función muy conveniente, es decir, puede agregar directamente otros tipos de variables, como agregar directamente un valor de tipo entero. La salida se convertirá automáticamente en una cadena después:
Sub Page_Load (Fuente como objeto, E como EventArgs)
Dim sb como System.Text.StringBuilder
Dim varother como entero
varother=9999
sb = nuevo System.Text.StringBuilder()
sb.append("<font color='blue'>Puedes agregar otros tipos: </font>")
sb.append(varotro)
Respuesta.write(sb.toString())
Subtítulo final
(2) Uso de otros métodos en cadenas También podemos usar otros métodos. Veamos los más comunes:
El método de inserción puede insertar otros caracteres en la posición especificada. Método de uso: Insertar (insertar posición, insertar carácter);
El método de eliminación puede eliminar caracteres alfanuméricos específicos en una posición específica. Método de uso: Eliminar (posición real, número de caracteres);
El método de reemplazo puede reemplazar caracteres específicos. Método de uso: reemplazar (cadena reemplazada, cadena de reemplazo).
Para obtener una introducción detallada y el uso de cadenas, consulte el siguiente artículo (en inglés):
http://aspfree.com/aspnet/stringbuilder.aspx
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemTextStringBuilderClassTopic.asp
3. Cerrar el enlace de la base de datos Connection y DataReader Cuando usamos la programación ASP, ya sabemos que después de usar la conexión de la base de datos, la conexión debe cerrarse y luego configurarse en NoThing. En Asp.NET, todavía necesitamos usarlo de esta manera. Sin embargo, en ASP.NET, debido al uso de ADO.NET, en realidad existen algunas diferencias sutiles en algunos aspectos de procesamiento relacionados, y estas diferencias a menudo también lo son. A qué debemos prestar más atención al diseñar. Ahora, tomemos un ejemplo para ver a qué problemas se debe prestar atención en las operaciones comunes de ADO.NET.
(1) Ejemplo 1
Dim myConnection As SqlConnection = new SqlConnection(ConfigurationSettings.AppSettings("DSN_pubs"))
Dim myCommand As SqlCommand = new SqlCommand("Seleccione pub_id, pub_name de los editores", myConnection)
Atenuar myDataReader como SqlDataReader
Intentar
miConexión.Open()
myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
dropDownList1.DataSource = myDataReader
dropDownList1.DataBind()
Captura myException como excepción
Response.Write("Se ha producido un error: " & myException.ToString())
Finalmente
Si no myDataReader no es nada, entonces
'Cerrar lector de datos
myDataReader.Cerrar()
Terminar si
Finalizar intento
En el ejemplo anterior, notamos que solo se cerró DataReader, no Connection. ¿Por qué? Observe atentamente el método ExecuteReader anterior. Resulta que los parámetros de ExecuteReader están configurados después de ejecutar ExecuteReader, la conexión se cerrará automáticamente. Por lo tanto, después de configurar esto, no es necesario cerrar manualmente la Conexión.
(2) Ejemplo 2
Dim myConnection As SqlConnection = new SqlConnection(ConfigurationSettings.AppSettings("DSN_pubs"))
Dim myCommand As SqlCommand = new SqlCommand("Seleccione pub_id, pub_name de los editores", myConnection)
Intentar
miConexión.Open()
dropDownList1.DataSource = myCommand.ExecuteReader()
dropDownList1.DataBind()
Captura myException como excepción
Response.Write("Se ha producido un error: " & myException.ToString())
Finalmente
Si no, myConnection no es nada y también ((myConnection.State y ConnectionState.Open) = ConnectionState.Open) entonces
miConexión.Cerrar()
Terminar si
Finalizar intento
En el ejemplo anterior, encontramos que DataReader no estaba cerrado. ¿Por qué? De hecho, en el código anterior, el objeto DataReader no se genera directamente y, por supuesto, no hay forma de cerrarlo. Una cosa a tener en cuenta es que antes de cerrar la Conexión, el programa primero determina si la Conexión está abierta. De lo contrario, no es necesario cerrarla.
4. Utilice Web.Config/Maching.Config para guardar datos de uso común. Algunos datos que necesitamos usar con frecuencia. Por ejemplo, cuando usamos ADO.NET, el más común es la declaración de conexión de la base de datos. En ASP, a menudo guardamos esto. información en la Aplicación. Por supuesto, esto también se puede hacer en ASP.NET. Sin embargo, ASP.NET ya proporciona un archivo de configuración WEB.Config, por lo que será mejor que guardemos esta información en WEB.Config. Por supuesto, también podemos guardarla en Machine. .Config, sin embargo, en este caso, se debe utilizar todo el sitio web, por lo que generalmente usamos Web.Config. Ahora, veamos el uso específico de este archivo.
(1) Configuración del archivo Web.Config Primero, veamos la configuración de Web.Config. Agregamos los siguientes dos elementos en este archivo.
<configuración>
<configuración de la aplicación>
<añadir clave="dsn" valor="miservidor"/>
<agregar clave="otra clave" valor="algún valor"/>
</aplicación>
</configuración>
(2) Uso de variables El archivo XML anterior establece dos variables, dsn y alguna otra clave. Ahora veamos cómo usarlas en el programa:
<html>
<script language="VB" runat=servidor>
Sub Page_Load (Remitente como objeto, E como EventArgs)
Atenuar AppSettings como Hashtable = Context.GetConfig("appsettings")
DSN.Texto = AppSettings("dsn")
SomeOther.Text = AppSettings("alguna otra clave")
Subtítulo final
</script>
<cuerpo>
Configuración de DSN: <asp:label id="DSN" runat=server/> <br>
Alguna otra configuración: <asp:label id="SomeOther" runat=server/>
</cuerpo>
</html>
Vemos en el programa anterior que usar variables definidas de esta manera es muy simple y conveniente.
5. Utilice .NET para depurar el programa.
La depuración de programas ASP siempre ha sido la parte más difícil de escribir ASP. Los programadores de ASP probablemente tengan un conocimiento profundo de esto, porque todos usan Response.write para depurar. La mayor desventaja de este tipo de depuración es que cuando terminamos de depurar, debemos eliminar o comentar la información una por una. Piénselo, si el código del programa llega a cientos de líneas o un programa con muchas páginas, qué aburrido es este tipo. Lo que más temo es una cosa: si olvida eliminar estas escrituras de depuración, puede aparecer información de depuración indecente cuando el usuario la use.
Después de usar ASP.NET, podemos definir Trace directamente para depurar el programa. Los problemas mencionados anteriormente se pueden resolver fácilmente si está familiarizado con él, Trace se puede implementar a través de páginas específicas y en el archivo de configuración Web.Config. De esta manera, después de depurar el programa, simplemente configure Trace en In. De esta manera, el programa no tendrá funcionalidad de depuración.
(1) Implementación de la depuración de páginas Cuando una página específica necesita implementar la función de depuración, podemos configurarla de esta manera:
<%@ Idioma de página="VB" Trace="True" %>
(2) Defina WEB.Config e impleméntelo en WEB.CONFIG. También podemos habilitar la depuración del programa:
<configuración>
<sistema.web>
<trace enable="true" requestLimit="10" localOnly="false"/>
</sistema.web>
</configuración>
Después de usar la configuración anterior para activar Trace, podemos usar Trace para depurar el programa en un programa específico, como por ejemplo:
Trace.Write("Esta es información de depuración personalizada")
O variables de depuración:
Trace.Write("Esta es mi variable y su valor es:" & myVariable.ToString())
De la configuración anterior, podemos ver que en ASP.NET, la función de depuración del programa ya es muy conveniente y simple.