La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Daniel A. Seara Director Regional MSDN NDSoft

Presentaciones similares


Presentación del tema: "Daniel A. Seara Director Regional MSDN NDSoft"— Transcripción de la presentación:

1 Daniel A. Seara Director Regional MSDN NDSoft
Migrando ASP a ASP.NET Daniel A. Seara Director Regional MSDN NDSoft

2 ASP (Lo Bueno) Tecnología líder en desarrollo para Web
Más de un millón de desarrolladores en ASP Desarrollo simple HTML combinado con script No requiere compilación – “sólo grabar” Flexible y extensible Soporta múltiples lenguajes VBScript, JScript®, etc. Puede utilizar Objetos COM para acceder a recursos y encapsular lógica de negocios

3 ASP (Lo Malo y lo Feo) ¡El código ASP se vuelve complicado!
Requiere demasiado código Para cualquier cosa se necesita escribir código Código mezclado con contenido Sólo soporta lenguajes de scripting La implementación de componentes y la configuración es compleja DLLs bloqueadas, regsvr32, metabase de IIS Estado de Sesión limitado a un único servidor

4 Compatibilidad con ASP
Migrar aplicaciones de ASP a ASP.NET siempre va a requerir cierto trabajo Se decidió romper la “compatibilidad hacia atrás” en ciertos puntos para mejorar la plataforma Tenemos más tiempo por delante en Internet que por detrás Nos permite asegurar una plataforma por mucho más tiempo

5 ASP: Soporte conjunto ASP.NET corre “lado a lado” con ASP
Extensiones de archivo distintas (.aspx vs .asp) Configuraciones separadas Las páginas/aplicaciones ASP siguen utilizando el motor de ASP existente sin problemas No se han hecho cambios a ASP.DLL Ningún componente se “rompe” al instalar ASP.NET Importante: no se comparte estado entre páginas/aplicaciones ASP y ASP.NET

6 Cambios en la API Con tres excepciones, ASP.NET es 100% API compatible con ASP Cambios de API previstos: Request() Array -> String Request.QueryString() Array -> String Request.Form() Array -> String

7 Cambios en la API: detalles
En ASP, las colecciones Request, Request.QueryString y Request.Form devuelven Vectores de caracteres (StringArrays) <% ‘ La línea siguiente retorna: “45, 600” Response.Write Request.QueryString(“values”) ‘La línea siguiente retorna : “45” Response.Write Request.QueryString(“values”)(1) %>

8 Cambios en la API: detalles
En ASP.NET estas colecciones requieren un método explícito para obtener un array Estos vectores ahora son “índice 0” <% ‘ La línea siguiente retorna : “45, 600” Response.Write(Request.QueryString.GetValues(“values”)) ‘ La línea siguiente retorna : “45” Response.Write(Request.QueryString.GetValues(“values”)(0)) %>

9 Cambios en la API: detalles
Escenarios de uso más frecuentes: Multi-select list box: <select múltiple> Múltiples casillas de verificación (checkbox) con el mismo nombre

10 Cambios semánticos Hay varios cambios semánticos en ASP.NET Tópicos:
Lenguaje único en cada página Las funciones deben declararse en bloques <script runat=server> No se soportan funciones de “rendering”

11 Lenguaje único en cada página
ASP permitía tener múltiples lenguajes en una misma página ASP.NET sólo soporta un único lenguaje por página Se puede tener varias páginas, cada una con un lenguaje diferente

12 Declaración de funciones
En ASP las funciones de cada página podían declararse dentro de bloques <% %> <% Sub HacerAlgo() Response.Write “¡Hola, Mundo!” End Sub HacerAlgo %>

13 Declaración de funciones
En ASP.NET las funciones de cada página deben declararse de la siguiente manera: <script language=“VB” runat=server> Sub HacerAlgo() Response.Write (“¡Hola, Mundo!”) End Sub </script> <% HacerAlgo() %>

14 Funciones de “rendering”
En ASP las funciones de rendering podían declararse en bloques <% %> <% Sub RenderAlgo() %> <font color=“red”> Son las: <%=Now %> </font> <% End Sub %> <% RenderAlgo %>

15 Funciones de “rendering”
En ASP.NET estas funciones se deben re-escribir con <script runat=server> <script language=“VB” runat=server> Sub RenderAlgo() Response.Write(“<font color=red> “) Response.Write(“Son las: “ & Now) End Sub </script> <% RenderAlgo() %>

16 Cambios en el lenguaje Visual Basic®
Cambios VBScript->VB7: serán el mayor problema a la hora de migrar Grandes tópicos: Las variables DEBEN declararse, así como indicarse su tipo No hay más “Set” y “Let” No hay más “Propiedad por Defecto” (importante) Se requieren paréntesis para invocar a Subs Los parámetros son ByVal por defecto Más detalles

17 No hay más “Set” y “Let” Usar asignaciones de variables <%
‘ Sintaxis ASP Dim MyConn Set MyConn = Server.CreateObject(“ADODB.Connection”) ‘ Nueva sintaxis ASP.NET MyConn = Server.CreateObject(“ADODB.Connection”) %>

18 No hay más “Propiedad por Defecto”
‘ Sintaxis ASP (para obtener el valor de una columna) Set MyConn = Server.CreateObject(“ADODB.Connection”) MyConn.Open(“TestDB”) Set RS = MyConn.Execute(“Select * from Products”) Response.Write RS(“Name”) ‘ Nueva sintaxis ASP.NET (para obtener el valor de una columna) MyConn = Server.CreateObject(“ADODB.Connection”) RS = MyConn.Execute(“Select * from Products”) Response.Write RS(“Name”).Value

19 Paréntesis en Subrutinas
En ASP.NET se requieren paréntesis al invocar una Sub ‘ Paréntesis en Response.Write() Sub HacerAlgo() Response.Write( “¡Hola, Mundo!” ) End Sub ‘ Paréntesis en HacerAlgo() HacerAlgo()

20 Parámetros ByVal por defecto
Los parámetros se deben declarar ByRef si se quiere obtener lo siguiente <script language=“VB” runat=server> Sub HacerAlgo(ByRef value) value = 4343 End Sub </script> <% Dim number = 55 HacerAlgo (number) Response.Write (“Número: “ & number) %>

21 Las variables “Deben” existir
A diferencia de lo que sucede en las páginas ASP, en ASPX todas las variables deben ser declaradas (indicando su tipo específico)

22 Algunas cosas pueden necesitar configuración
Si se utilizan objetos cuyo modelo de ejecución sea “apartamento” (Apartment Threaded), se debe indicar compatibilidad con ASP en la página Page aspcompat=true %>

23 Más Información En nuestra Comunidad Otros Sitios
Otros Sitios (en español)


Descargar ppt "Daniel A. Seara Director Regional MSDN NDSoft"

Presentaciones similares


Anuncios Google