Como crear un sitio con ASP.NET - PowerPoint by uqg17706

VIEWS: 115 PAGES: 41

									Como crear un sitio con
ASP.NET


                   Carlos Walzer
                         Vemn Sistemas
                  carlosw@vemn.com.ar
Agenda
   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
Marco de trabajo
     .NET Framework y
     ASP.NET
Framework, lenguaje y Herramientas

  VB      C++      C#   JScript   …

  Common Language Specification




                                      Visual Studio.NET
         Web              Interface
       Services          de Usuario

                Datos y XML

           Base Class Library


       Common Language Runtime
Componentes de .NET
              System.Web                               System.WinForms
Services            UI                       Design         ComponentModel
 Description         HtmlControls
Discovery            WebControls
Protocols                                              System.Drawing
Caching             Security                 Drawing2D         Printing
Configuration       SessionState             Imaging           Text

              System.Data                                System.Xml
ADO                 SQL                      XSLT              Serialization
Design              SQLTypes                 XPath

                                    System
Collections          IO                Security              Runtime
Configuration        Net               ServiceProcess        InteropServices
Diagnostics          Reflection        Text                   Remoting
Globalization        Resources         Threading              Serialization
Conceptos centrales de
ASP.NET
    Plataforma de desarrollo de Web


         Cliente Web


             IIS          Aplicaciones
                           ASP.NET



                         .NET Framework



              Sistema Operativo
Características
   Lenguajes
   CodeBehind
   Assemblies
   Configuración
   Orientado a Objetos
   Eventos en el servidor
PostBack

    Mitos y Leyendas…
Modelo 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
Como se implementa
   Form
       POST
       Page.IsPostBack
   ViewState
       Base64
       EnableViewState
       No siempre es necesario
   Eventos
       Post-Back
       Cached events (retenidos)
           AutoPostBack
       Validación
Ciclo 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
Consejos
   Nos acerca al modelo de Win32
   Administre el Post-Back:
       Round-Trips
       ViewState
   DHTML también existe 
Componentes

   ASP.NET y demás…
Autenticació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
Autenticació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
        <authentication mode= "Forms">
          <forms
                    name=".ASPXAUTH"
                 loginUrl="login.aspx"
                 protection="all"
                 timeout="30"
                 path="/"
                 />
        </authentication>
Configuració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              Config.web
                     Dir
                             Sub
                             Dir1
                                     Sub
                                     Dir2
State
   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\InstallSqlState.sql
    <sessionState mode="Off|Inproc|StateServer|SQLServer“ cookieless="true|false"
           timeout="number of minutes“ stateConnectionString="tcpip=server:port"
           sqlConnectionString="sql connection string" />
   Cookies
   Cache State
   Transient State
      HTTPContext.Current.Items
   View State
        ViewState[] Collection
Navegación
   <a href=“”></a>
   window.location
   window.open()
   window.showModalDialog(),
    window.showModelessDialog()
   Response.Redirect()
   Server.Execute()
   Server.Transfer()
       HTTPContext.Current.Items
Controles 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
Cache
   <%@ OutputCache Duration=“600"
    VaryByParam=“Provincia;Ciudad“
    VaryByHeader="Accept-Language"
    VaryByCustom="browser" %>
Herramientas
    Consejos útiles para
    trabajar
Consejos
   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/
DHTML,
CSS
XMLHTTP
CSS – Hojas de estilo en Cascada
   Que son?
   Formas de definir los estilos
       En linea
        STYLE="position:absolute; width:60; height:20;“

       En la página
        <STYLE>
        BODY {font-family:"Arial"; font-size:10pt; text-align:center}
        </STYLE>

       En un archivo externo
        <link rel="stylesheet" href=“MisEstilos.css">

   Los estilos se heredan
   Son dinámicos: Objeto style
CSS – Hojas de estilo en Cascada

   Aspectos que modifican
       Font y Text
       Background y colores
       Layout
           Bordes, margenes, padding
       Display
       Posición
       Impresión
       Filtros
DHTML
   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
DHTML
   Los objetos y las colecciones
   Los objetos
       Window
       Navigator
       Document
       Location
       Screen
       Frames
       Forms
       all
DHTML
   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
DHTML
   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
DHTML
   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
DHTML
   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
XMLHTTP
 Consultas remotas
 al servidor
iXMLHttpRequest
   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.
iXMLHTTPRequest
                          • Métodos
   Propiedades             –   abort
       onReadyStateCha     –   getResponseHeaders
        nge                 –   open
       readyState          –   send
       responseBody        –   setRequestHeader
       responseStream
       responseText
       responseXML
       status
       statusText
Seguridad

    Código seguro…
Seguridad
   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
Deployment
    Instalación del sitio
    Web
Deployment
   Xcopy
   Que necesito?
       Aspx
       Asmx
       Htm, gif, css, js, etc.
       Config
       Bin
       Carpetas
    Referencias
   Links
       www.vemn.com.ar
       www.asp.net
       www.aspalliance.com
       http://msdn.microsoft.com/library/default.asp
        ?url=/workshop/author/dhtml/reference/metho
        ds.asp?frame=true
       www.codeproject.com
       www.asptoday.com
Preguntas?
Muchas gracias
por su participación


                   Carlos Walzer
                         Vemn Sistemas
                  carlosw@vemn.com.ar

								
To top