Title: Carlos Walzer
1Como crear un sitio con ASP.NET
- Carlos Walzer
- Vemn Sistemas
- carlosw_at_vemn.com.ar
2Agenda
- Introducción al marco de trabajo
- Como funciona ASP.NET
- Revisión de Componentes
- Herramientas, Consejos
- DHTML, CSS, XMLHTTP
- Seguridad de la App Web
- Deployment
3Marco de trabajo
4Framework, lenguaje y Herramientas
5Componentes de .NET
6Conceptos centrales de ASP.NET
- Plataforma de desarrollo de Web
7Características
- Lenguajes
- CodeBehind
- Assemblies
- Configuración
- Orientado a Objetos
- Eventos en el servidor
8PostBack
9Modelo de Eventos WebForm
- Evento disparado en el Cliente
- Atrapado en el servidor
Server
mensaje
Cliente Web
Analiza el mensaje
evento
Llama al manejador apropiado
manejador
respuesta
10Como se implementa
- Form
- POST
- Page.IsPostBack
- ViewState
- Base64
- EnableViewState
- No siempre es necesario
- Eventos
- Post-Back
- Cached events (retenidos)
- AutoPostBack
- Validación
11Ciclo de Vida de un Web Form
- Inicialización de Objetos
- Carga ViewState
- Procesa datos del Post
- Carga Objetos
- Lanza los Eventos Cached
- Lanza el Evento Post-Back
- PreRender
- Graba ViewState
- Render
- Disposal
12Consejos
- Nos acerca al modelo de Win32
- Administre el Post-Back
- Round-Trips
- ViewState
- DHTML también existe ?
13Componentes
14Autenticación - Tipos
- Windows Authentication (vía IIS)
- Basic, Digest, NTLM, Kerberos, IIS Certificate
- Autenticación basada en Formularios (Cookie)
- Verificación de credencial a nivel de Aplicación
- Microsoft Passport
15Autenticación basada en Formularios
- Fácil de implementar
- ASP .NET provee redirección
- Pasos
- Configure IIS para que permita usuarios anónimos
(típicamente) - Use SSL!
- Configure ASP.NET con autenticación por cookie
- Escriba su página de Login
ltauthentication mode "Forms"gt ltforms
name".ASPXAUTH" loginUrl"login.aspx
" protection"all"
timeout"30" path"/"
/gt lt/authenticationgt
16Configuración
- Conceptos y Arquitectura
- Arch. de configuración Config.web
- Basado en XML, legible y modificable por
humanos - Ubicación
- Los cambios se detectan automáticamente
- Arquitectura de configuración jerárquica
Root Dir
Config.web
Sub Dir1
Sub Dir2
17State
- Application State
- Session State
- Por página
- In-Process Session
- Out-Of-Process Session
- ASP.NET State Server
- SQL Server Session
- c\winnt\Microsoft.NET\Framework\version\InstallSq
lState.sql - ltsessionState mode"OffInprocStateServerSQLServ
er cookieless"truefalse" - timeout"number of minutes
stateConnectionString"tcpipserverport" - sqlConnectionString"sql connection
string" /gt - Cookies
- Cache State
- Transient State
- HTTPContext.Current.Items
- View State
- ViewState Collection
18Navegación
- lta hrefgtlt/agt
- window.location
- window.open()
- window.showModalDialog(), window.showModelessDialo
g() - Response.Redirect()
- Server.Execute()
- Server.Transfer()
- HTTPContext.Current.Items
19Controles ASP.NET
- Un componente que se ejecuta en el servidor y
expone interfaz Web - Propiedades, métodos, eventos
- Se muestra como HTML, XML, script, etc.
- Procesa acciones del usuario y datos
- Puede representar elementos HTML o abstracciones
de alto nivel - Hablando técnicamente
- Es implementado como una clase .NET
- Deriva desde System.Web.UI.Control o
System.Web.UI.WebControls.WebControl
20Cache
- lt_at_ OutputCache Duration600" VaryByParamProvin
ciaCiudad VaryByHeader"Accept-Language"
VaryByCustom"browser" gt
21Herramientas
- Consejos útiles para trabajar
22Consejos
- Como usar y no usar VS
- HTML Designer ?, Text editor
- Debugging
- Tablas anidadas
- Crear Controles, Botones, Menu
- Modere ViewState (DataGrid paging)
- Gráficos (FireWorks)
- BookMarklets
- http//www.squarefree.com/bookmarklets/
23DHTML, CSSXMLHTTP
24CSS Hojas de estilo en Cascada
- Que son?
- Formas de definir los estilos
- En linea
- STYLE"positionabsolute width60 height20
- En la página
- ltSTYLEgt
- BODY font-family"Arial" font-size10pt
text-aligncenter - lt/STYLEgt
- En un archivo externo
- ltlink rel"stylesheet" hrefMisEstilos.css"gt
- Los estilos se heredan
- Son dinámicos Objeto style
25CSS Hojas de estilo en Cascada
- Aspectos que modifican
- Font y Text
- Background y colores
- Layout
- Bordes, margenes, padding
- Display
- Posición
- Impresión
- Filtros
26DHTML
- Todos Los elementos de una página son objetos
programables - DOM (Document Object Model)
- Características
- Estílos Dinámicos
- Posicionamiento Dinámico
- Contenido Dinámico
- Data Binding
- Los lenguajes de scripting
27DHTML
- Los objetos y las colecciones
- Los objetos
- Window
- Navigator
- Document
- Location
- Screen
- Frames
- Forms
- all
28DHTML
- Las propiedades
- ID Para identificar un objeto
- Name
- Tagname Nombre del Tag
- ClassName Nombre del estilo
- Style Acceso al objeto de estilo del elemento
- innerHTML, outerHTML
- Value, innerText
- window.status
- Readystate, Complete
- Disabled, Readonly
- Length
- parentElement
- Tabindex, Tabstop
- Left, top, bottom, right
- Rows, Cols
29DHTML
- Los métodos
- window.open
- window.showModalDialog
- Pasando argumentos
- Retornando un valor con window.returnvalue
- document.write
- document.createElement
- Focus, Blur
- Moveto, moveby
- Submit
- setTimeOut
- Print
- insertAdjacentHTML, insertAdjacentText
30DHTML
- Los eventos
- onClick, onDblClick, onChange
- OnBlur, OnFocus
- OnLoad, onBeforeUnload
- onBeforeCopy, onBeforePaste, onBeforeCut (after)
- onContextMenu
- onDragOver, onDragStart, .
- onKeyDown, onKeyPress, onKeyUp
- onMouse (down, enter, move, out, up, wheel)
- onReadyStateChange
- onSubmit
31DHTML
- Los eventos
- Event Bubbling
- cancelBubble
- Accediendo al objeto que dispara el evento con
Event.srcElement - Cancelando event.returnvalue false
- Propiedades Event
- altKey, altLeft, clientX, clientY, ctrlKey,
KeyCode - shiftKey, wheelData
32XMLHTTP
- Consultas remotas al servidor
33iXMLHttpRequest
- Disponible en Microsoft XML 3.0
- Instalado por IE 5.0
- Comunicación HTTP.
- Consultar al servidor sin recargar la página.
Que bueno !!! - Sincrónico o Asincrónico.
34iXMLHTTPRequest
- Métodos
- abort
- getResponseHeaders
- open
- send
- setRequestHeader
- Propiedades
- onReadyStateChange
- readyState
- responseBody
- responseStream
- responseText
- responseXML
- status
- statusText
35Seguridad
36Seguridad
- SQL Injection
- Ejecutar Store Procedures
- Impersonar en un usuario
- Permiso de ejecución en los SP
- Cross-Site Scripting
- .NET 1.1 nos cubre? ValidateRequest
- Referencia Writing Secure Code 2
37Deployment
- Instalación del sitio Web
38Deployment
- Xcopy
- Que necesito?
- Aspx
- Asmx
- Htm, gif, css, js, etc.
- Config
- Bin
- Carpetas
39Referencias
- Links
- www.vemn.com.ar
- www.asp.net
- www.aspalliance.com
- http//msdn.microsoft.com/library/default.asp?url
/workshop/author/dhtml/reference/methods.asp?frame
true - www.codeproject.com
- www.asptoday.com
40Preguntas?
41Muchas graciaspor su participación
- Carlos Walzer
- Vemn Sistemas
- carlosw_at_vemn.com.ar