carlos walzer vemn sistemas [email protected] como crear un sitio con asp.net

41
Carlos Walzer Carlos Walzer Vemn Sistemas Vemn Sistemas [email protected] [email protected] Como crear un sitio Como crear un sitio con ASP.NET con ASP.NET

Upload: ivette-cecilio

Post on 03-Feb-2015

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Carlos WalzerCarlos WalzerVemn SistemasVemn Sistemas

[email protected]@vemn.com.ar

Como crear un sitio con Como crear un sitio con ASP.NETASP.NET

Page 2: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Introducción al marco de trabajoIntroducción al marco de trabajo Como funciona ASP.NETComo funciona ASP.NET Revisión de ComponentesRevisión de Componentes Herramientas, ConsejosHerramientas, Consejos DHTML, CSS, XMLHTTPDHTML, CSS, XMLHTTP Seguridad de la App WebSeguridad de la App Web DeploymentDeployment

AgendaAgenda

Page 3: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Marco de trabajoMarco de trabajo

.NET Framework y .NET Framework y ASP.NETASP.NET

Page 4: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Framework, lenguaje y HerramientasFramework, lenguaje y Herramientas

Base Class Library

Common Language Specification

Common Language Runtime

Datos y XML

VB C++ C#V

isual S

tud

io.N

ET

WebServices

JScript …

Interfacede Usuario

Page 5: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Componentes de .NETComponentes de .NET

System

System.Data System.Xml

System.Web

Globalization

Diagnostics

Configuration

Collections

Resources

Reflection

Net

IO

Threading

Text

ServiceProcess

Security

Design

ADO

SQLTypes

SQL

XPath

XSLT

RuntimeInteropServices

Remoting

Serialization

Serialization

Configuration SessionState

Caching Security

ServicesDescription

Discovery

Protocols

UIHtmlControls

WebControls

System.Drawing

Imaging

Drawing2D

Text

Printing

System.WinForms

Design ComponentModel

Page 6: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Conceptos centrales de Conceptos centrales de ASP.NETASP.NET

Plataforma de desarrollo de WebPlataforma de desarrollo de Web

Cliente Web

Sistema Operativo

AplicacionesASP.NET

IIS

.NET Framework

Page 7: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

CaracterísticasCaracterísticas

LenguajesLenguajes CodeBehindCodeBehind AssembliesAssemblies ConfiguraciónConfiguración Orientado a ObjetosOrientado a Objetos Eventos en el servidorEventos en el servidor

Page 8: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

PostBackPostBack

Mitos y Leyendas…Mitos y Leyendas…

Page 9: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Modelo de Eventos WebFormModelo de Eventos WebForm

Evento disparado en el ClienteEvento disparado en el Cliente Atrapado en el servidorAtrapado en el servidor

Server

Cliente Web

Analiza el mensajeevento

manejador

mensaje

respuesta

Llama al manejador apropiado

Page 10: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

FormForm POSTPOST Page.IsPostBackPage.IsPostBack

ViewStateViewState Base64Base64 EnableViewStateEnableViewState No siempre es necesarioNo siempre es necesario

EventosEventos Post-BackPost-Back Cached events (retenidos)Cached events (retenidos)

AutoPostBackAutoPostBack

ValidaciónValidación

Como se implementaComo se implementa

Page 11: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Ciclo de Vida de un Web FormCiclo de Vida de un Web Form

Inicialización de ObjetosInicialización de Objetos Carga ViewStateCarga ViewState Procesa datos del PostProcesa datos del Post Carga ObjetosCarga Objetos Lanza los Eventos CachedLanza los Eventos Cached Lanza el Evento Post-BackLanza el Evento Post-Back PreRenderPreRender Graba ViewStateGraba ViewState RenderRender DisposalDisposal

Page 12: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

ConsejosConsejos

Nos acerca al modelo de Win32Nos acerca al modelo de Win32 Administre el Post-Back:Administre el Post-Back:

Round-TripsRound-Trips ViewStateViewState

DHTML también existe DHTML también existe

Page 13: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

ComponentesComponentes

ASP.NET y demás…ASP.NET y demás…

Page 14: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Autenticación - TiposAutenticación - Tipos

Windows Authentication (vía IIS)Windows Authentication (vía IIS) Basic, Digest, NTLM, Kerberos, IIS Basic, Digest, NTLM, Kerberos, IIS

CertificateCertificate

Autenticación basada en Formularios Autenticación basada en Formularios (Cookie)(Cookie) Verificación de credencial a nivel de Verificación de credencial a nivel de

AplicaciónAplicación

MicrosoftMicrosoft®® Passport Passport

Page 15: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Autenticación basada en FormulariosAutenticación basada en Formularios

Fácil de implementarFácil de implementar ASP .NET provee redirecciónASP .NET provee redirección

PasosPasos Configure IIS para que permita usuarios anónimos Configure IIS para que permita usuarios anónimos

(típicamente)(típicamente) Use SSL!Use SSL! Configure ASP.NET con autenticación por cookieConfigure ASP.NET con autenticación por cookie Escriba su página de LoginEscriba su página de Login

<authentication mode= "Forms"> <forms

name=".ASPXAUTH" loginUrl="login.aspx" protection="all" timeout="30" path="/"

/></authentication>

Page 16: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

ConfiguraciónConfiguración Conceptos y ArquitecturaConceptos y Arquitectura

Arch. de configuración: Config.webArch. de configuración: Config.web Basado en XML, legible y modificable por “humanos”Basado en XML, legible y modificable por “humanos” UbicaciónUbicación Los cambios se detectan automáticamenteLos cambios se detectan automáticamente

Arquitectura de configuración jerárquicaArquitectura de configuración jerárquica

RootDir

SubDir1

SubDir2

Config.web

Page 17: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

StateState Application StateApplication State Session StateSession State

Por páginaPor página In-Process SessionIn-Process Session Out-Of-Process SessionOut-Of-Process Session

ASP.NET State ServerASP.NET State Server SQL Server SessionSQL Server Session

c:\winnt\Microsoft.NET\Framework\c:\winnt\Microsoft.NET\Framework\versionversion\InstallSqlState.sql\InstallSqlState.sql

<sessionState mode="Off|Inproc|StateServer|SQLServer“ cookieless="true|false"<sessionState mode="Off|Inproc|StateServer|SQLServer“ cookieless="true|false"

timeout="number of minutes“ stateConnectionString="tcpip=server:port"timeout="number of minutes“ stateConnectionString="tcpip=server:port"

sqlConnectionString="sql connection string" />sqlConnectionString="sql connection string" />

CookiesCookies Cache StateCache State Transient StateTransient State

HTTPContext.Current.ItemsHTTPContext.Current.Items View StateView State

ViewState[] CollectionViewState[] Collection

Page 18: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

NavegaciónNavegación <a href=“”></a><a href=“”></a> window.locationwindow.location window.open()window.open() window.showModalDialog(), window.showModalDialog(),

window.showModelessDialog()window.showModelessDialog()

Response.Redirect()Response.Redirect() Server.Execute()Server.Execute() Server.Transfer()Server.Transfer()

HTTPContext.Current.ItemsHTTPContext.Current.Items

Page 19: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Controles ASP.NETControles ASP.NET

Un componente que se ejecuta en el Un componente que se ejecuta en el servidor y expone interfaz Web…servidor y expone interfaz Web… Propiedades, métodos, eventosPropiedades, métodos, eventos Se muestra como HTML, XML, script, etc. Se muestra como HTML, XML, script, etc. Procesa acciones del usuario y datosProcesa acciones del usuario y datos Puede representar elementos HTML o Puede representar elementos HTML o

abstracciones de alto nivelabstracciones de alto nivel

Hablando técnicamente…Hablando técnicamente… Es implementado como una clase .NETEs implementado como una clase .NET Deriva desde System.Web.UI.Control o Deriva desde System.Web.UI.Control o

System.Web.UI.WebControls.WebControlSystem.Web.UI.WebControls.WebControl

Page 20: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

CacheCache

<%@ OutputCache Duration=“600" <%@ OutputCache Duration=“600" VaryByParam=“Provincia;Ciudad“ VaryByParam=“Provincia;Ciudad“ VaryByHeader="Accept-Language" VaryByHeader="Accept-Language" VaryByCustom="browser" %>VaryByCustom="browser" %>

Page 21: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

HerramientasHerramientas

Consejos útiles para Consejos útiles para trabajartrabajar

Page 22: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

ConsejosConsejos

Como usar y no usar VS…Como usar y no usar VS… HTML Designer HTML Designer , Text editor, Text editor DebuggingDebugging

Tablas anidadasTablas anidadas Crear Controles, Botones, MenuCrear Controles, Botones, Menu Modere ViewState (DataGrid paging)Modere ViewState (DataGrid paging) Gráficos (FireWorks)Gráficos (FireWorks) BookMarkletsBookMarklets

http://www.squarefree.com/bookmarklets/http://www.squarefree.com/bookmarklets/

Page 23: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

DHTML, DHTML, CSSCSSXMLHTTPXMLHTTP

Page 24: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Que son?Que son? Formas de definir los estilosFormas de definir los estilos

En lineaEn lineaSTYLE="position:absolute; width:60; height:20;“STYLE="position:absolute; width:60; height:20;“

En la páginaEn la página<STYLE><STYLE>

BODY {font-family:"Arial"; font-size:10pt; text-align:center} BODY {font-family:"Arial"; font-size:10pt; text-align:center}

</STYLE></STYLE>

En un archivo externoEn un archivo externo<link rel="stylesheet" href=“<link rel="stylesheet" href=“MisEstilosMisEstilos.css">.css">

Los estilos se heredanLos estilos se heredan Son dinámicos: Objeto styleSon dinámicos: Objeto style

CSS – Hojas de estilo en CascadaCSS – Hojas de estilo en Cascada

Page 25: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Aspectos que modificanAspectos que modifican Font y TextFont y Text Background y coloresBackground y colores LayoutLayout

Bordes, margenes, paddingBordes, margenes, padding

DisplayDisplay PosiciónPosición ImpresiónImpresión FiltrosFiltros

CSS – Hojas de estilo en CascadaCSS – Hojas de estilo en Cascada

Page 26: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

DHTMLDHTML TodosTodos Los elementos de una página Los elementos de una página

son objetos programablesson objetos programables DOM (Document Object Model)DOM (Document Object Model) CaracterísticasCaracterísticas

Estílos DinámicosEstílos Dinámicos Posicionamiento DinámicoPosicionamiento Dinámico Contenido DinámicoContenido Dinámico Data BindingData Binding

Los lenguajes de scriptingLos lenguajes de scripting

Page 27: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

DHTMLDHTML Los objetos y las coleccionesLos objetos y las colecciones Los objetosLos objetos

WindowWindow NavigatorNavigator DocumentDocument LocationLocation ScreenScreen FramesFrames FormsForms allall

Page 28: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

DHTMLDHTML Las propiedadesLas propiedades

ID – Para identificar un objetoID – Para identificar un objeto NameName Tagname – Nombre del TagTagname – Nombre del Tag ClassName – Nombre del estiloClassName – Nombre del estilo Style – Acceso al objeto de estilo del elementoStyle – Acceso al objeto de estilo del elemento innerHTML, outerHTMLinnerHTML, outerHTML Value, innerTextValue, innerText window.statuswindow.status Readystate, CompleteReadystate, Complete Disabled, ReadonlyDisabled, Readonly LengthLength parentElementparentElement Tabindex, TabstopTabindex, Tabstop Left, top, bottom, rightLeft, top, bottom, right Rows, ColsRows, Cols

Page 29: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

DHTMLDHTML Los métodosLos métodos

window.openwindow.open window.showModalDialogwindow.showModalDialog

Pasando argumentosPasando argumentos Retornando un valor con Retornando un valor con window.returnvalue window.returnvalue

document.writedocument.write document.createElementdocument.createElement Focus, BlurFocus, Blur Moveto, movebyMoveto, moveby SubmitSubmit setTimeOutsetTimeOut PrintPrint insertAdjacentHTML, insertAdjacentTextinsertAdjacentHTML, insertAdjacentText

Page 30: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Los eventosLos eventos onClick, onDblClick, onChangeonClick, onDblClick, onChange OnBlur, OnFocusOnBlur, OnFocus OnLoad, onBeforeUnloadOnLoad, onBeforeUnload onBeforeCopy, onBeforePaste, onBeforeCut onBeforeCopy, onBeforePaste, onBeforeCut

(after)(after) onContextMenuonContextMenu onDragOver, onDragStart, ….onDragOver, onDragStart, …. onKeyDown, onKeyPress, onKeyUponKeyDown, onKeyPress, onKeyUp onMouse (down, enter, move, out, up, wheel)onMouse (down, enter, move, out, up, wheel) onReadyStateChangeonReadyStateChange onSubmitonSubmit

DHTMLDHTML

Page 31: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Los eventosLos eventos Event BubblingEvent Bubbling

cancelBubblecancelBubble

Accediendo al objeto que dispara el Accediendo al objeto que dispara el evento con Event.srcElementevento con Event.srcElement

Cancelando: event.returnvalue = falseCancelando: event.returnvalue = false Propiedades EventPropiedades Event

altKey, altLeft, clientX, clientY, ctrlKey, altKey, altLeft, clientX, clientY, ctrlKey, KeyCodeKeyCode

shiftKey, wheelDatashiftKey, wheelData

DHTMLDHTML

Page 32: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

XMLHTTPXMLHTTP

Consultas remotas Consultas remotas al servidoral servidor

Page 33: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

iXMLHttpRequestiXMLHttpRequest

Disponible en Microsoft XML 3.0Disponible en Microsoft XML 3.0 Instalado por IE 5.0Instalado por IE 5.0 Comunicación HTTP.Comunicación HTTP. Consultar al servidor sin recargar la Consultar al servidor sin recargar la

página. Que bueno !!!página. Que bueno !!! Sincrónico o Asincrónico.Sincrónico o Asincrónico.

Page 34: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

iXMLHTTPRequestiXMLHTTPRequest

PropiedadesPropiedades onReadyStateChaonReadyStateCha

ngenge readyStatereadyState responseBodyresponseBody responseStreamresponseStream responseTextresponseText responseXMLresponseXML statusstatus statusTextstatusText

• Métodos– abort– getResponseHeaders– open– send– setRequestHeader

Page 35: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

SeguridadSeguridad

Código seguro…Código seguro…

Page 36: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

SeguridadSeguridad

SQL InjectionSQL Injection Ejecutar Store ProceduresEjecutar Store Procedures Impersonar en un usuarioImpersonar en un usuario Permiso de ejecución en los SPPermiso de ejecución en los SP

Cross-Site ScriptingCross-Site Scripting .NET 1.1 nos cubre? .NET 1.1 nos cubre? ValidateRequestValidateRequest

ReferenciaReferencia: Writing Secure Code 2: Writing Secure Code 2

Page 37: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

DeploymentDeployment

Instalación del sitio Instalación del sitio WebWeb

Page 38: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

DeploymentDeployment

XcopyXcopy Que necesito?Que necesito?

AspxAspx AsmxAsmx Htm, gif, css, js, etc.Htm, gif, css, js, etc. ConfigConfig BinBin CarpetasCarpetas

Page 39: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

ReferenciasReferencias LinksLinks

www.vemn.com.arwww.vemn.com.ar www.asp.netwww.asp.net www.aspalliance.comwww.aspalliance.com http://msdn.microsoft.com/library/http://msdn.microsoft.com/library/

default.asp?url=/workshop/author/dhtml/default.asp?url=/workshop/author/dhtml/reference/methods.asp?frame=truereference/methods.asp?frame=true

www.codeproject.comwww.codeproject.com www.asptoday.comwww.asptoday.com

Page 40: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Preguntas?Preguntas?

Page 41: Carlos Walzer Vemn Sistemas carlosw@vemn.com.ar Como crear un sitio con ASP.NET

Carlos WalzerCarlos WalzerVemn SistemasVemn Sistemas

[email protected]@vemn.com.ar

Muchas graciasMuchas graciaspor su participaciónpor su participación