Trucos y Tcnicas con 'NET - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Trucos y Tcnicas con 'NET

Description:

Integraci n .NET Enterprise Servers. Seguridad Integrada IIS con delegaci n de Kerberos ... Integraci n .NET Enterprise Servers. Acceso DAV a Exchange. DAV es ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 30
Provided by: ALFO8
Category:

less

Transcript and Presenter's Notes

Title: Trucos y Tcnicas con 'NET


1
Trucos y Técnicas con .NET
  • Alejandro Mezcua
  • Responsable desarrollo
  • Zaltor Soluciones Informáticas
  • amezcua_at_zaltor.com

2
Agenda
  • Objetivo
  • Aplicaciones Web
  • XML Web Services
  • Windows Forms
  • Integración Windows Forms XML Web Services
  • Integración .NET Enterprise Servers
  • Gestión de Excepciones
  • Siguientes pasos

3
Objetivo
  • Dar una visión de técnicas utilizadas en
    proyectos reales
  • Ir más allá de la simple exposición del producto
  • Mostrar el abanico de posibilidades dado por .NET

4
Aplicaciones Web
  • Generación de imágenes sobre la marcha
  • Seguimiento de descargas personalizado
  • Sesiones ASP.NET para dispositivos WAP

5
Aplicaciones Web
Generación de imágenes sobre la marcha
  • GDI
  • Graphics object
  • Páginas ASPX. Stream de datos a la respuesta
    (objeto Response)
  • Pueden aceptar parámetros
  • Servidas en etiqueta ltimggt de HTML
  • ltimg srcgeneragrafico.aspxgt

6
Aplicaciones Web
Seguimiento de descargas personalizado
  • Control de archivos descargados
  • Implementar IHTTPHandler para filtrar archivos
  • Redirección a formulario personalizado
  • Independiente de las estadísticas del Web
  • (Continúa)

7
Aplicaciones Web
Seguimiento de descargas personalizado
  • Configuración en Web.Config
  • lthttpHandlersgt
  • ltadd verb"GET" path".txt"
  • typeClassName, AssemblyName"
  • /gt
  • lt/httpHandlersgt
  • Configuración en IIS
  • En la aplicación asociar la extensión a
    aspnet_isapi.dll

8
Aplicaciones Web
Sesiones ASP.NET para dispositivos WAP
  • MMIT por omisión usa sesiones en URL pero usa
    ViewState para los formularios
  • Los dispositivos WAP tienen límite de tamaño de
    páginas (DECKSIZE)
  • La sesión ASP.NET se puede controlar por URL
  • Para aplicaciones no MMIT usar
  • ltsessionState cookieless"true" timeout"20" /gt
  • En Web.config

9
Aplicaciones Web
Referencias
  • Viewstate
  • http//support.microsoft.com/default.aspx?scidhtt
    p//www.microsoft.com/intlkb/spain/E308/4/66.asp

10
XML Web Services
Uso de SOAP Headers personalizadas
  • Un paquete de SOAP se compone de 3 elementos
  • Envelope
  • Header
  • Body
  • Las cabeceras se pueden controlar (leer/escribir)
    con clases que heredan de SoapHeader
  • (Continúa )

11
XML Web Services
Uso de SOAP Headers personalizadas
  • En el servicio Web (método o clase) se marca para
    requerir la cabecera
  • ltWebMethod(False), SoapHeader(NombreCabecera",
    RequiredTrue)gt Public Function Func() as
    Boolean
  • En el cliente, antes de llamar al servicio Web se
    establece la cabecera
  • m_SvcSMProxy.NombreCabeceraValue New
    ClaseCabecera()
  • m_SvcSMProxy.NombreCabeceraValue.Propiedad
    Valor

12
Windows Forms
  • Imprimir un DataGrid
  • Uso de los controles de Impresión para Windows
    Forms
  • Uso de GDI para dibujar sobre el área del
    informe
  • Ejemplo obtenido de (en inglés)
  • http//www.c-sharpcorner.com/Graphics/DataGridPrin
    terMG.asp

13
Integración WindowsForms XML Web Services
  • Validación con SOAP Headers con contenido
    encriptado
  • Uso de reflection para obtener información de la
    clase en tiempo de ejecución y ajustar controles

14
Integración WindowsForms XML Web Services
Validación con SOAP Headers
  • Servicio Web que mantiene solicitudes de inicio
    de sesión
  • El inicio de sesión completo ha de efectuarse en
    un espacio de tiempo dado
  • Todas las solicitudes han de llevar una cabecera
    SOAP válida

15
Integración WindowsForms XML Web Services
Esquema de Validación
16
Integración WindowsForms XML Web Services
Uso de reflection
  • Reflection permite obtener información de los
    metadatos de una clase en tiempo de ejecución
  • Permite sabes los nombres de los campos públicos,
    etc.
  • Sabiendo los campos podemos ajustar los controles
    a esos valores
  • (Continúa )

17
Integración WindowsForms XML Web Services
Uso de reflection
  • Dim t As Type
  • Dim fInfo() As FieldInfo
  • t obj.GetType()
  • fInfo t.GetFields()

18
Integración .NET Enterprise Servers
  • Seguridad Integrada IIS con delegación de
    Kerberos
  • Directorio Activo (Validación de usuarios)
  • Acceso DAV a Exchange

19
Integración .NET Enterprise Servers
Seguridad Integrada IIS con delegación de Kerberos
  • Resultado deseado

(Continúa )
20
Integración .NET Enterprise Servers
Seguridad Integrada IIS con delegación de Kerberos
  • Se consigue con combinación de configuración y
    código
  • La cuenta usada ha de disponer de la propiedad
    Account is trusted for delegation
  • En web.config
  • ltidentity impersonatetruegt
  • Al usar el proxy del Web Service
  • oProxy.Credentials System.Net.CredentialCache.De
    faultCredentials

21
Integración .NET Enterprise Servers
Directorio Activo
  • Clases System.DirectoryServices
  • Permiten el acceso al Directorio Activo (y a
    otros directorios LDAP)
  • Permite hacer búsquedas y actualizaciones
  • DirectorySearcher. Búsquedas al directorio
  • DirectoryEntry. Objeto del directorio. Colección
    Properties para acceso a las propiedades
    individuales.

22
Integración .NET Enterprise Servers
Directorio Activo (Validación de usuarios)
  • Forma sencilla
  • Realizar query para buscar el objeto del usuario
  • buscar userPrincipalName o samAccountName
  • Ambas propiedades están en el GC indexadas
  • Realizar la búsqueda usando las credenciales del
    usuario deseado (usuario pwd)
  • Si la query no devuelve acceso denegado, se puede
    dar por supuesto que el usuario existe con esas
    credenciales

23
Integración .NET Enterprise Servers
Acceso DAV a Exchange
  • DAV es una extensión de HTTP
  • Exchange dispone de interface DAV para acceder al
    InformationStore (mensajes, contactos, etc)
  • Forma parte de Outlook Web Access
    (http//localhost/exchange/)
  • (continúa )

24
Integración .NET Enterprise Servers
Acceso DAV a Exchange
  • Se realizan consultas en formato XML con código
    SQL. La validación estándar es básica (usuario
    contraseña)
  • Cada objeto dispone de propiedades que se tratan
    como campos en SQL
  • urnschemashttpmailsendername
  • urnschemashttpmailsubject
  • Detalles en el SDK de Exchange
  • Herramientas útiles como el Exchange Explorer

25
Gestión de Excepciones
  • Excepciones personalizadas
  • Captura global de excepciones

26
Gestión de Excepciones
Excepciones personalizadas
  • Clase que hereda de ApplicationException
  • Permite distinguir entre tipos de errores propios
    de la aplicación con control estructurado
    (Try-Catch-Finally)
  • Da más control que trabajar con System.Exception

27
Gestión de Excepciones
Captura global de excepciones
  • Existen situaciones donde no podemos saber todos
    los posibles errores
  • Podemos establecer un handler general por cada
    Thread
  • Se asocia en
  • AddHandler Application.ThreadException, AddressOf
    NombreFunción

28
Siguientes pasos
  • Revisar WS-Enhancements
  • Interoperatividad WS-Security. MS-Java
  • http//msdn.microsoft.com/webservices/building/wse
    /default.aspx?pull/library/en-us/dnwebsrv/html/ws
    ejavainterop.asp

29
Preguntas
  • ?
Write a Comment
User Comments (0)
About PowerShow.com