Title: Migrando ASP a ASP'NET
1Migrando ASP a ASP.NET
- Daniel A. SearaDirector Regional MSDNNDSoft
2ASP (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
3ASP (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
4Compatibilidad 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
5ASP 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
6Cambios en la API
- Con tres excepciones, ASP.NET es 100 API
compatible con ASP - Cambios de API previstos
- Request() Array -gt String
- Request.QueryString() Array -gt String
- Request.Form() Array -gt String
7Cambios en la API detalles
- En ASP, las colecciones Request,
Request.QueryString y Request.Form devuelven
Vectores de caracteres (StringArrays)
8Cambios 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
9Cambios en la API detalles
- Escenarios de uso más frecuentes
- Multi-select list box ltselect múltiplegt
- Múltiples casillas de verificación (checkbox) con
el mismo nombre
10Cambios semánticos
- Hay varios cambios semánticos en ASP.NET
- Tópicos
- Lenguaje único en cada página
- Las funciones deben declararse en bloques ltscript
runatservergt - No se soportan funciones de rendering
11Lenguaje ú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
12Declaración de funciones
- En ASP las funciones de cada página podían
declararse dentro de bloques lt gt
13Declaración de funciones
- En ASP.NET las funciones de cada página deben
declararse de la siguiente manera
14Funciones de rendering
- En ASP las funciones de rendering podían
declararse en bloques lt gt
15Funciones de rendering
- En ASP.NET estas funciones se deben re-escribir
con ltscript runatservergt
16Cambios en el lenguaje Visual Basic
- Cambios VBScript-gtVB7 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
17No hay más Set y Let
- Usar asignaciones de variables
18No hay más Propiedad por Defecto
Sintaxis ASP (para obtener el valor de una
columna) Set MyConn Server.CreateObject(ADODB.C
onnection) 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.Ope
n(TestDB) RS MyConn.Execute(Select from
Products) Response.Write RS(Name).Value
19Paréntesis en Subrutinas
- En ASP.NET se requieren paréntesis al invocar una
Sub
20Parámetros ByVal por defecto
- Los parámetros se deben declarar ByRef si se
quiere obtener lo siguiente
21Las 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)
22Algunas 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 - lt_at_ Page aspcompattrue gt
23Más Información
- En nuestra Comunidad
- http//www.microsoft.com/latam/msdn/comunidad/comu
nidades/asp/ - Otros Sitios
- www.asp.net
- http//asp.net.do/(en español)