1 / 23

Migrando ASP a ASP.NET

Migrando ASP a ASP.NET. Daniel A. Seara Director Regional MSDN NDSoft. 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

kasa
Download Presentation

Migrando ASP a ASP.NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Migrando ASP a ASP.NET Daniel A. SearaDirector Regional MSDNNDSoft

  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. http://localhost/test/Test.asp?values=45&values=600 <% ‘ La línea siguiente retorna: “45, 600” Response.Write Request.QueryString(“values”) ‘La línea siguiente retorna : “45” Response.Write Request.QueryString(“values”)(1) %> Cambios en la API: detalles • En ASP, las colecciones Request, Request.QueryString y Request.Form devuelven Vectores de caracteres (StringArrays)

  8. http://localhost/test/Test.aspx?values=45&values=600 <% ‘ 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)) %> 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”

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

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

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

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

  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. <% ‘ Sintaxis ASP Dim MyConn SetMyConn = Server.CreateObject(“ADODB.Connection”) ‘ Nueva sintaxis ASP.NET Dim MyConn MyConn= Server.CreateObject(“ADODB.Connection”) %> No hay más “Set” y “Let” • Usar asignaciones de variables

  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”) MyConn.Open(“TestDB”) RS = MyConn.Execute(“Select * from Products”) Response.Write RS(“Name”).Value

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

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

  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 • http://www.microsoft.com/latam/msdn/comunidad/comunidades/asp/ • Otros Sitios • www.asp.net • http://asp.net.do/(en español)

More Related