Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre...

71
Microsoft Visual Studio 2005 .NET Framework 2.0 e Introducción a .NET Framework 2.0 e Introducción a Visual Studio 2005 Visual Studio 2005 mbre Presentador mbre Presentador

Transcript of Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre...

Page 1: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a .NET Framework 2.0 e Introducción a Visual Studio 2005Visual Studio 2005

Nombre PresentadorNombre Presentador

Page 2: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

AgendaAgendaIntroducción a Microsoft .NETIntroducción a Microsoft .NET

.NET Framework, Lenguajes y Herramientas.NET Framework, Lenguajes y Herramientas

Modelo de EjecuciónModelo de Ejecución

Novedades en los LenguajesNovedades en los Lenguajes

Base Class LibraryBase Class Library

ADO.NET 2.0ADO.NET 2.0

Mejoras del IDEMejoras del IDE

Page 3: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Paradigmas de ProgramaciónParadigmas de Programación

19801980 19901990 20002000

Fu

nci

on

alid

adF

un

cio

nal

idad

Win16Win16 Win32Win32COMCOM

MFCMFCComponentes

ComponentesServiciosServicios

APIsAPIs

Windows3.0

Page 4: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

¿Qué NO es .NET?¿Qué NO es .NET?

.NET no es un Sistema Operativo.NET no es un Sistema Operativo

.NET no es un Lenguaje de Programación.NET no es un Lenguaje de Programación

.NET no es un Entorno de Desarrollo.NET no es un Entorno de Desarrollo

.NET no es un Servidor de Aplicaciones.NET no es un Servidor de Aplicaciones

.NET no es un producto empaquetado que .NET no es un producto empaquetado que se pueda comprar como talse pueda comprar como tal

Page 5: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

¿Qué es .NET?¿Qué es .NET?

Plataforma de Desarrollo compuesta dePlataforma de Desarrollo compuesta deEntorno de Ejecución (Runtime)Entorno de Ejecución (Runtime)Bibliotecas de Funcionalidad (Class Library)Bibliotecas de Funcionalidad (Class Library)Lenguajes de ProgramaciónLenguajes de ProgramaciónCompiladoresCompiladoresHerramientas de Desarrollo (IDE & Tools)Herramientas de Desarrollo (IDE & Tools)Guías de ArquitecturaGuías de Arquitectura

La evolución de la plataforma COMLa evolución de la plataforma COM

Page 6: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Características de .NET Características de .NET

Plataforma de ejecución intermedia.Plataforma de ejecución intermedia.

100% Orientada a Objetos.100% Orientada a Objetos.

Multilenguaje.Multilenguaje.

Plataforma Empresarial de Misión Crítica.Plataforma Empresarial de Misión Crítica.

Modelo de Programación único para todo tipo Modelo de Programación único para todo tipo de aplicaciones y dispositivos de hardware.de aplicaciones y dispositivos de hardware.

Se integra fácilmente con aplicaciones Se integra fácilmente con aplicaciones existentes desarrolladas en plataformas existentes desarrolladas en plataformas Microsoft.Microsoft.

Se integra fácilmente con aplicaciones Se integra fácilmente con aplicaciones desarrolladas en otras plataformas.desarrolladas en otras plataformas.

Page 7: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Plataforma de Ejecución IntermediaPlataforma de Ejecución Intermedia

Entorno de

Desarrollo

Mic

rosoft

.N

ET

Librerías de Funcionalidad

Lenguajes de Programación

Entorno de Ejecución

Sistema Operativo (Familia Windows)

Aplicación .NET

Page 8: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

¿Qué es el .NET Framework?¿Qué es el .NET Framework?

Paquete de software fundamental de la Paquete de software fundamental de la plataforma .NET. Incluye:plataforma .NET. Incluye:

Entorno de Ejecución (Runtime)Entorno de Ejecución (Runtime)Bibliotecas de Funcionalidad (Class Library)Bibliotecas de Funcionalidad (Class Library)

Se distribuye en forma libre y gratuitaSe distribuye en forma libre y gratuita

Existen tres variantes principales:Existen tres variantes principales:.NET Framework Redistributable Package.NET Framework Redistributable Package

.NET Framework SDK.NET Framework SDK

.NET Compact Framework .NET Compact Framework

Está instalado por defecto en Windows Está instalado por defecto en Windows 2003 Server o superior2003 Server o superior

Page 9: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

.NET Compact Framework

*

*

AplicaciónMóvil

Aplicación de Consola

Aplicación Web

Aplicación de Escritorio

¿Dónde instalar el .NET Framework?¿Dónde instalar el .NET Framework?

ServidorCliente

* Sólo si la aplicación es distribuída* Sólo si la aplicación es distribuída

Page 10: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Línea del tiempo de .NETLínea del tiempo de .NET

Visual Studio 6.0Visual BasicVBAVisual FoxProVBScriptC++J++JScriptASP

Visual Studio .NET 2003.NET Framework 1.1.NET Compact FrameworkJ#

Visual Studio “Orcas”.NET Framework “Orcas”.NET Compact Framework “Orcas”

2000 2001 2002 2003 2004 2005 2006 y más

Visual Studio 2005 (“Whidbey”).NET Framework 2.0 (“Whidbey”).NET Compact Framework 2.0 (“Whidbey”)

Visual Studio .NET 2002.NET Framework 1.0Visual Basic .NETC#

Page 11: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Windows COM+ Services

Common Language Runtime

Base Class Library

ADO.NET y XML

ASP.NET Windows Forms

Common Language Specification

VB C++ C# J# …

Arquitectura del .NET FrameworkArquitectura del .NET Framework

.NE

T F

ram

ewor

k R

edis

trib

utab

le

.NE

T F

ram

ewo

rk S

DK

.NE

T F

ramew

ork

Class Library

Page 12: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

CLR – Common Language RuntimeCLR – Common Language Runtime

El CLR es el motor de ejecución (runtime) El CLR es el motor de ejecución (runtime) de .NETde .NETCaracterísticasCaracterísticas

Compilación Just-In-Time (JIT)Compilación Just-In-Time (JIT)Gestión automática de memoria (Garbage Gestión automática de memoria (Garbage Collector).Collector).Gestión de errores consistente (Excepciones)Gestión de errores consistente (Excepciones)Gestión de SeguridadGestión de SeguridadMultithreading.Multithreading.

Page 13: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

.NET Framework Class Library.NET Framework Class Library

Conjunto de Tipos básicos (clases, interfaces, etc.) que vienen incluídos en el .NET Framework Los tipos están organizados en jerarquías lógicas de nombres, denominados NAMESPACESLos tipos son INDEPENDIENTES del lenguaje de desarrolloEs extensible y totalmente orientada a objetos

Page 14: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

.NET Framework Class Library.NET Framework Class Library

El namespace raíz es SYSTEM

System

System.Data System.Xml

System.Web

GlobalizationGlobalization

DiagnosticsDiagnostics

ConfigurationConfiguration

CollectionsCollections

ResourcesResources

ReflectionReflection

NetNet

IOIO

ThreadingThreading

TextText

ServiceProcessServiceProcess

SecuritySecurity

CommonCommon

OleDbOleDb

SqlClientSqlClient

OdbcOdbc

XPathXPath

XSLTXSLT

RuntimeRuntime

InteropServicesInteropServices

RemotingRemoting

SerializationSerialization

SerializationSerialization

ConfigurationConfiguration SessionStateSessionState

CachingCaching SecuritySecurity

ServicesServices

DescriptionDescription

DiscoveryDiscovery

ProtocolsProtocols

UIUI

HtmlControlsHtmlControls

WebControlsWebControls

System.Drawing

ImagingImaging

Drawing2DDrawing2D

TextText

PrintingPrinting

System.Windows.FormsDesignDesign ComponentModelComponentModel

Page 15: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Common Language Specification (CLS)Common Language Specification (CLS)

Especificación que estandariza una serie de características soportadas por el CLRContrato entre diseñadores de lenguajes de programación y autores de bibliotecasPermite la interoperabilidad entre lenguajesMicrosoft provee implementaciones de 4 lenguajes, todos compatibles con CLS

Microsoft Visual Basic .NETMicrosoft Visual Basic .NETMicrosoft Visual C# .NETMicrosoft Visual C# .NETMicrosoft Visual J#.NETMicrosoft Visual J#.NETMicrosoft Visual C++.NETMicrosoft Visual C++.NET

Page 16: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Common Language RuntimeCommon Language Runtime

VBVBCódigo Código FuenteFuente

C++C++C#C#

AssemblyAssemblyIL CodeIL Code

AssemblyAssemblyIL CodeIL Code

Servicios del Sistema OperativoServicios del Sistema Operativo

Codigo NativoCodigo Nativo

CódigoCódigoManejadoManejado

Modelo de Modelo de EjecuciónEjecución

AssemblyAssemblyIL CodeIL Code

ComponenteComponenteNo manejadoNo manejado

Compilador JITCompilador JIT

CompiladorCompilador CompiladorCompiladorCompiladorCompilador

Ejecutable (.EXE), Página Web (.ASPX), Ejecutable (.EXE), Página Web (.ASPX), Servicio Local (.DLL) o WebService (.ASMX)Servicio Local (.DLL) o WebService (.ASMX)

Page 17: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Novedades del .NET Framework 2.0Novedades del .NET Framework 2.0

GenericsGenericsSoporte para 64 bitsSoporte para 64 bitsTipos ParcialesTipos ParcialesModificadores de accesoModificadores de accesoMejoras en VB.NETMejoras en VB.NETMejoras en C#Mejoras en C#

Page 18: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

GenericsGenerics

Son tipos parametrizados soportados por Son tipos parametrizados soportados por el CLRel CLR

Un tipo parametrizado es aquel que puede Un tipo parametrizado es aquel que puede definirse sin especificar los tipos de datos de definirse sin especificar los tipos de datos de sus parámetros en tiempo de compilación.sus parámetros en tiempo de compilación.

Nos dan la posibilidad de declarar clases, Nos dan la posibilidad de declarar clases, estructuras, métodos e interfaces que estructuras, métodos e interfaces que actuarán uniformemente sobre valores actuarán uniformemente sobre valores cuyos tipos se desconocen a priori y son cuyos tipos se desconocen a priori y son recién especificados al momento de su recién especificados al momento de su utilizaciónutilización

Page 19: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Generics - EjemploGenerics - Ejemplo

Definiendo una clase genérica en C#Definiendo una clase genérica en C#

Utilizando una clase genérica en C#Utilizando una clase genérica en C#

public class ClaseGenerica<T> { public T atributo;}

ClaseGenerica <string> g = new ClaseGenerica<string>();g.atributo = “Un string";g.atributo = 2; //Genera Error de Compilación…ClaseGenerica<int> g2 = new ClaseGenerica<int>();g2.atributo = 2; //NO genera error de compilación

Page 20: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Generics - EjemploGenerics - Ejemplo

Definiendo una clase genérica en VB.NETDefiniendo una clase genérica en VB.NET

Utilizando una clase genérica en VB.NETUtilizando una clase genérica en VB.NET

Public Class ClaseGenerica(Of T) Public atributo As TEnd Class

Dim g As New ClaseGenerica(Of String) g.atributo = “Un string"g.atributo = 2 ‘Genera error de compilación…Dim g2 As New ClaseGenerica(Of Integer) g2.atributo = 2 ‘NO genera error de compilación

Page 21: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Generics - ColeccionesGenerics - Colecciones

Colecciones Genéricas Vs. Colecciones Tradicionales

System.Collections.Generic System.Collections

Comparer<T> Comparer

Dictionary<K,T> HashTable

List<T> ArrayList

Queue<T> Queue

SortedDictionary<K,T> SortedList

Stack<T> Stack

ICollection<T> ICollection

IComparable<T> System.IComparable

IComparer<T> IComparer

IDictionary<K,T> IDictionary

IEnumerable<T> IEnumerable

IEnumerator<T> IEnumerator

IKeyComparer<T> IKeyComparer

IList<T> IList

Page 22: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Generics - ColeccionesGenerics - Colecciones

Sin generics

Con generics

Page 23: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Soporte para 64 bitsSoporte para 64 bits

El CLR 1.x sólo tiene soporte para El CLR 1.x sólo tiene soporte para aplicaciones de 32 bitsaplicaciones de 32 bits

No aprovechan las características de los No aprovechan las características de los sistemas operativos de 64 bits, ya que se sistemas operativos de 64 bits, ya que se ejecutan emuladasejecutan emuladas

El CLR 2.0 tiene una versión de 64 bitsEl CLR 2.0 tiene una versión de 64 bitsPermite compilar aplicaciones para que hagan Permite compilar aplicaciones para que hagan uso nativamente de las nuevas características uso nativamente de las nuevas características de los sistemas operativos y procesadores de de los sistemas operativos y procesadores de 64 bits64 bits

Page 24: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Tipos ParcialesTipos Parciales

Permiten la declaración de un tipo en varios Permiten la declaración de un tipo en varios archivos físicosarchivos físicos

Válido para clases y estructuras Válido para interfaces sólo en C#Utilizan la palabra clave “partial” en la declaración

Su uso puede tener varias ventajasSu uso puede tener varias ventajasDividir implementaciones complejas en partes pequeñasSeparación de código auto-generadoMútiples desarrolladores pueden trabajar sobre distintas secciones del mismo tipo simultáneamentePuede facilitar el mantenimiento y el control de versiones de código

Page 25: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

// Demo.Part1.cs// Demo.Part1.csusing System;using System;public partial class Demopublic partial class Demo{{ public Demo()public Demo() {{ Console.Write( "P1" );Console.Write( "P1" ); }}}}// Demo.Part2.cs// Demo.Part2.cspublic partial class Demopublic partial class Demo{{ private int i;private int i;}}

// Demo.Part3.cs// Demo.Part3.cs// Error 1!// Error 1!public class Demopublic class Demo{{ // Error 2!// Error 2! private int i;private int i; // OK// OK private int j;private int j;

public void Test()public void Test() {{ // Error 3!// Error 3! Console.Write( "P3" );Console.Write( "P3" ); }}}}

Tipos Parciales - EjemploTipos Parciales - Ejemplo

Page 26: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Modificadores de acceso Modificadores de acceso

El CLR 2.0 permite especificar diferentes El CLR 2.0 permite especificar diferentes modificadores de acceso para el get y el set de modificadores de acceso para el get y el set de las propiedades e índiceslas propiedades e índicesPermite solamente modificar uno de los dos Permite solamente modificar uno de los dos elementos de acceso, mientras que el otro toma elementos de acceso, mientras que el otro toma el nivel de acceso de la propertyel nivel de acceso de la propertyPuede especificar más restriccionesPuede especificar más restriccionesMejora el encapsulamiento de atributosMejora el encapsulamiento de atributos

Page 27: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Modificadores de acceso - Modificadores de acceso - EjemplosEjemplos

public class Customer{public class Customer{ private string id;private string id; public string public string CustomerId {CustomerId { public get { return public get { return id; }id; } privateprivate set { id = set { id = value; }value; } }}}}

Public Class CustomerPublic Class Customer Private id As StringPrivate id As String Public Property CustomerId() As StringPublic Property CustomerId() As String GetGet Return Me.idReturn Me.id End GetEnd Get PrivatePrivate Set(ByVal value As Set(ByVal value As String)String) Me.id = valueMe.id = value End SetEnd Set End PropertyEnd PropertyEnd ClassEnd Class

Page 28: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Provee acceso a funcionalidades comunesProvee acceso a funcionalidades comunesReduce drásticamente la cantidad de códigoReduce drásticamente la cantidad de códigoAumento de la productividad y facilidad de usoAumento de la productividad y facilidad de usoDisponible a través del IntelliSenseDisponible a través del IntelliSense

La clase My incluyeLa clase My incluye::My.ApplicationMy.ApplicationMy.ComputerMy.ComputerMy.UserMy.UserMy.FormsMy.FormsMy.WebservicesMy.WebservicesMy.ResourcesMy.ResourcesMy.SettingsMy.Settings

Novedades en Lenguajes Novedades en Lenguajes

VB.NET - Namespace MyVB.NET - Namespace My

Page 29: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Novedades en LenguajesNovedades en Lenguajes

VB.NET – Características de C#VB.NET – Características de C#

Sobrecarga de operadores y conversionesSobrecarga de operadores y conversionesDocumentación de códigoDocumentación de códigoNuevos tipos (UShort, UInteger, ULong)Nuevos tipos (UShort, UInteger, ULong)Instrucción Instrucción ContinueContinueInstrucción Instrucción UsingUsingCompilador compatible CLSCompilador compatible CLS

Page 30: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Novedades en LenguajesNovedades en Lenguajes

VB.NET – Desarrollo con Visual StudioVB.NET – Desarrollo con Visual Studio

Code snippets (Fragmentos de código)Code snippets (Fragmentos de código)Intellisense mejoradoIntellisense mejoradoCorrector automáticoCorrector automáticoAsistente de excepcionesAsistente de excepciones

Page 31: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Novedades en LenguajesNovedades en Lenguajes

C# - Métodos anónimosC# - Métodos anónimos

Permite escribir delegados “inline”Permite escribir delegados “inline”Los métodos anónimos ofrecen una solución Los métodos anónimos ofrecen una solución eleganteelegante

Un delegado puede ser usado en cualquier Un delegado puede ser usado en cualquier lugar.lugar.Se crea usando la palabra clave Se crea usando la palabra clave delegate.delegate.

Page 32: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Novedades en LenguajesNovedades en LenguajesC# - Métodos anónimos (Ejemplo)C# - Métodos anónimos (Ejemplo)

Thread task = new Thread( new ThreadStart( this.Background ));

private void Background(){ Trace.Write("1.0");}

Thread task = new Thread(Thread task = new Thread( delegate(){delegate(){ Trace.Write("2.0");} );Trace.Write("2.0");} );}

this.saveButton.Click +=this.saveButton.Click += new EventHandler(new EventHandler( this.SaveClick );this.SaveClick );

private void SaveClick(private void SaveClick( object sender,object sender, EventArgs e )EventArgs e ){{ this.Save();this.Save();}}

this.saveButton.Click +=this.saveButton.Click += delegate { this.Save(); };delegate { this.Save(); };

Page 33: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Novedades en LenguajesNovedades en LenguajesC# - Desarrollo con Visual StudioC# - Desarrollo con Visual Studio

Auto codeAuto codeAbreviaturas de código comúnAbreviaturas de código común

RefactoringRefactoringOcho refactorizacionesOcho refactorizaciones

RenombrarRenombrarExtraer métodoExtraer métodoEncapsular campoEncapsular campoGenerar esqueletoGenerar esqueleto……

Page 34: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Mejoras en el TracingMejoras en el Tracing

CorrelationCorrelation ManagerManager

TraceTraceTraceSourceTraceSource DebugDebug

SourceSwitchSourceSwitch

TraceListenerCollectionTraceListenerCollection

TraceFilterTraceFilter

TraceListenerTraceListener

TraceOptionsTraceOptions

Page 35: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

TraceSource y SourceSwitchTraceSource y SourceSwitch

TraceSource TraceSource Nos provee métodos que permiten hacer el Nos provee métodos que permiten hacer el seguimiento a eventos, datos, etc.seguimiento a eventos, datos, etc.Controlado por archivos de configuraciónControlado por archivos de configuraciónCada instancia de TraceSource tiene su Cada instancia de TraceSource tiene su propio nombre y colección de propio nombre y colección de TraceListener.TraceListener.Propiedades Propiedades FilterFilter y y SwitchSwitch

SourceSwitchSourceSwitchControla las salidas del tracing y el debug Controla las salidas del tracing y el debug sin recompilar el código.sin recompilar el código.

MétodosMétodosTraceData, TraceEvent y TraceInformationTraceData, TraceEvent y TraceInformation

Page 36: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Nuevos ListenersNuevos Listeners

ConsoleTraceListenerConsoleTraceListenerUsado para escribir salidas de trace Usado para escribir salidas de trace y debug en la consola.y debug en la consola.

DelimitedListTraceListenerDelimitedListTraceListenerLogs escritos en archivos de Logs escritos en archivos de formato .CSV(Comma Separated formato .CSV(Comma Separated Value)Value)

XmlWriterTraceListenerXmlWriterTraceListenerEscribe las salidas del trace en Escribe las salidas del trace en archivos XMLarchivos XML

Page 37: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Integración con ASP.NET TracingIntegración con ASP.NET Tracing

WebPageTraceListenerWebPageTraceListenerEnvia mensajes de Trace al Envia mensajes de Trace al ASP.NET Web Page Output.ASP.NET Web Page Output.Se puede configurar vía Se puede configurar vía Web.Config o por código.Web.Config o por código.

Page 38: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Opciones de ConfiguraciónOpciones de Configuración

Listener.TraceOutputOptionsDetermina el contenido opcional para la salida del Trace.

Trace.CorrelationManagerProvee métodos para almacenar identificadores de hilos usando la propiedad ActivityId.

Archivo XML para configurar el TraceSource

<source name="MySource" switchValue="Information" ><source name="MySource" switchValue="Information" > <listeners><listeners> <add name="Console" <add name="Console" type="System.Diagnostics.ConsoleTraceListener" />type="System.Diagnostics.ConsoleTraceListener" /> </listeners></listeners></source></source>

Page 39: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Performance del CLRPerformance del CLR

Performance del CLR similar para código Performance del CLR similar para código nativo.nativo.NGEN (Native Image Generator )NGEN (Native Image Generator )

Herramienta para compilar assemblies a Herramienta para compilar assemblies a código nativo.código nativo.Contiene Imágenes Nativas las cuales Contiene Imágenes Nativas las cuales contienen los archivos de código contienen los archivos de código compilado para el procesador de una compilado para el procesador de una maquina especifica y las instala dentro maquina especifica y las instala dentro del cache de la maquina.del cache de la maquina.No hay necesidad del JIT porque utiliza No hay necesidad del JIT porque utiliza las imágenes que están en Cache.las imágenes que están en Cache.

Page 40: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Performance del CLRPerformance del CLR

Nuevas APIsNuevas APIsAPIs APIs para recursos de búsquedapara recursos de búsquedaResourceManager.GetStringResourceManager.GetStringLightweight CodeGenLightweight CodeGen

Mejoras en las Mejoras en las APIsAPIsCrossAppDomain Remoting (200 veces más CrossAppDomain Remoting (200 veces más rápido)rápido)Desempeño Desempeño para llamar para llamar DelegadosDelegadosAppDomain Footprints (reducido en 20%)AppDomain Footprints (reducido en 20%)UTF8Encoding (2.5 veces más rápido)UTF8Encoding (2.5 veces más rápido)

Page 41: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

SemáforosSemáforos

Un semáforo permite que un número Un semáforo permite que un número limitado de subprocesos (Threads) de limitado de subprocesos (Threads) de uno o varios procesos tengan acceso a uno o varios procesos tengan acceso a un recurso o pool de recursos.un recurso o pool de recursos.

SemáforoSemáforoThreadThread

ThreadThread

ThreadThread

ThreadThread

ThreadThread

RecursoRecurso

ContadorContadorCount =3Count =3

ThreadThread

ThreadThread

Page 42: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Namespace: Namespace: System.Threading.Semaphore

SemáforosSemáforos

// Crea un semáforo con un contador de 3Semaphore sem = new Semaphore(3)

// Bloquea hasta un contador disponiblesem.WaitOne()

// Usa el recurso protegido

// Liberación del semáforosem.Release()

Page 43: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Compresión de Stream

NamespaceSystem.IO.Compression

GZipStreamMétodos y Propiedades para comprimir y descomprimir Streams o ”Secuencia de Bytes”.Gzip algoritmo estándar.

DeflateStream (LZW77)

StreamWriterStreamWriter GZipStreamGZipStream

Page 44: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

System.Security.SecureString

Soluciona los problemas en System.String

(Encriptación ,alteración y limpieza de contenido)

Usado para textos confidenciales (Contenido cifrado)Métodos soportados

InsertAt, AppendChar, RemoveAt y ClearMakeReadOnly para bloquear string.Sin miembros para inspeccionar, comparar o convertir el valor de la cadena.

Page 45: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

HttpListenerHttpListener

Nos permite crear un protocolo HTTP Nos permite crear un protocolo HTTP Listener que responde solicitudes Listener que responde solicitudes HTTP.HTTP.

No requiere del IIS.No requiere del IIS.URI Usado para mapear solicitudes.URI Usado para mapear solicitudes.Usa HTTP.SYS para crear posibles Usa HTTP.SYS para crear posibles HTTP Listener (Win2003, Win XP HTTP Listener (Win2003, Win XP SP2+)SP2+)Acceso vía Acceso vía HttpListenerRequestHttpListenerRequest y y HttpListenerResponseHttpListenerResponse

Page 46: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Puerto Serial

Antes usado por Pinvoke con APIS de Win32Namespace

System.IO.PortsClase SerialPort

Acceso Físico y Virtual como los soportados por dispositivos como el USBAsync y eventos de I/O

Orientado a eventosBloqueante, vía métodos read y write

Page 47: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Personalización de CulturasPersonalización de Culturas

Crear nuevas culturasCrear nuevas culturasPersonalización de sufijos, formatos Personalización de sufijos, formatos existentes, Combinación de 2 existentes, Combinación de 2 lenguajes, paises.lenguajes, paises.

CultureAndRegionInfoBuilder CultureAndRegionInfoBuilder Los detalles de la cultura pueden Los detalles de la cultura pueden ser serializados en .Xmlser serializados en .Xml

Page 48: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Personalización de CulturasPersonalización de Culturas

// Crea un nuevo objeto CultureAndRegionInfoBuilder// Crea un nuevo objeto CultureAndRegionInfoBuilder// basado en culture en-US// basado en culture en-USCultureAndRegionInfoBuilder carib = new CultureAndRegionInfoBuilder carib = new CultureAndRegionInfoBuilder(CultureAndRegionInfoBuilder( new CultureInfo("en-US"),new CultureInfo("en-US"), new RegionInfo("US"),new RegionInfo("US"), "en", "US", "microsoft");"en", "US", "microsoft");

// Registra esta máquina en el deploy// Registra esta máquina en el deploycarib.Register();carib.Register();

// Salva en XML// Salva en XMLcarib.Save("c:\temp\myculture.xml");carib.Save("c:\temp\myculture.xml");

// Hace referencia al nuevo objeto CultureInfo// Hace referencia al nuevo objeto CultureInfoCultureInfo ci = new CultureInfo("en-US-microsoft);CultureInfo ci = new CultureInfo("en-US-microsoft);

Page 49: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Novedades para ConsoleNovedades para Console

Captura y atribuye el tamaño de la Captura y atribuye el tamaño de la Consola, del buffer de pantalla y del cursorConsola, del buffer de pantalla y del cursorCambia la posición de la ventana de la Cambia la posición de la ventana de la consola y del cursorconsola y del cursorCambia el color y el título de la ventanaCambia el color y el título de la ventanaCaptura teclas presionadasCaptura teclas presionadas

Page 50: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

ADO.NET 2.0 - MejorasADO.NET 2.0 - Mejoras

API Independiente del Proveedor ADO.NETAPI Independiente del Proveedor ADO.NETModelada bajo el patrón Modelada bajo el patrón Abstract FactoryAbstract Factory

Operaciones asíncronasOperaciones asíncronasPermite ejecutar comandos contra la Base Permite ejecutar comandos contra la Base de Datos de manera asíncrona no de Datos de manera asíncrona no bloqueante.bloqueante.

Multiple Active Result Sets (MARS)Multiple Active Result Sets (MARS)Permite tener múltiples DataReaders Permite tener múltiples DataReaders abiertos sobre la misma conexión.abiertos sobre la misma conexión.

Page 51: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

ADO.NET 2.0 - MejorasADO.NET 2.0 - Mejoras

Integración y aprovechamiento de Integración y aprovechamiento de características de SQL Server 2005características de SQL Server 2005

Notification ServicesNotification ServicesService BrokerService BrokerTipo de dato XMLTipo de dato XMLSoporte a Servicios WebSoporte a Servicios Web

Mejoras en el DataSet y el DataTableMejoras en el DataSet y el DataTablePerformancePerformanceSerializaciónSerializaciónSoporte a XMLSoporte a XML

Page 52: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

ADO.NET 2.0 – API independiente del ADO.NET 2.0 – API independiente del proveedorproveedor

namespace System.Data.Commonnamespace System.Data.Common

DbCommandDbCommand DbCommandBuilderDbCommandBuilder DbConnectionDbConnection

DataAdapterDataAdapter DbDataAdapterDbDataAdapter DbDataReaderDbDataReader

DbParameterDbParameter DbParameterCollectionDbParameterCollection DbTransactionDbTransaction

DbProviderFactoryDbProviderFactory DbProviderFactoriesDbProviderFactories DbExceptionDbException

Page 53: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

ADO.NET 2.0 – API Independiente ADO.NET 2.0 – API Independiente del proveedordel proveedor

IDb* interfaces (ex IDbConnection)IDb* interfaces (ex IDbConnection)

Db* abstract base classes (ex DbConnection)Db* abstract base classes (ex DbConnection)

Implementa la claseImplementa la clase Db*BaseDb*Base

SqlSql OleDbOleDb ODBCODBC OracleOracle 33rdrd Party 1Party 1

33rdrd Party 2Party 2

Provider- Independiente del código de la app en esta capa

Provider-específico en el código de la app en esta capa

Page 54: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

ADO.NET 2.0 – ProvidersADO.NET 2.0 – Providers

Provider Factories (System.Data.Common)Provider Factories (System.Data.Common)Permite especificar el proveedor dinamicamentePermite especificar el proveedor dinamicamente

//Importe el Namespace:using System.Data.Common//Cree una referencia:DbProviderFactory factory = DbProviderFactories.GetFactory("provider-name")//Cree una referencia del objeto:DbConnection con = factory.CreateConnection()DbCommand cmd = con.CreateCommand()

Page 55: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

ADO.NET 2.0 – ProvidersADO.NET 2.0 – ProvidersCada Data Provider tiene un nombre invariable Cada Data Provider tiene un nombre invariable (InvariantName)(InvariantName)

//Crea una tabla con los proveedores existentes en el sistemaDataTable dt = DbProviderFactories.GetFactoryClasses();

//Obtiene el proveedor deseado por medio del InvariantNameDbProviderFactory factory = DbProviderFactories.GetFactory(

dt.Select(“InvariantName = ‘System.Data.SqlClient’”)[0][“InvariantName”].ToString());

Page 56: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

ADO.NET 2.0 - Schema Discovery ADO.NET 2.0 - Schema Discovery APIAPI

Recibe una lista de esquemas de los Recibe una lista de esquemas de los

objetos de la base de datosobjetos de la base de datos::

Recibe un Schema específicoRecibe un Schema específico::

Recibe detalles del Recibe detalles del Schema:Schema:

DataTable dt = conn.GetSchema("MetaDataCollections")

DataTable dt = conn.GetSchema("collection-name")

DataTable dt = conn.GetSchema("collection-name", restriction-array)

Page 57: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

ADO.NET 2.0 - Schema SelectionADO.NET 2.0 - Schema Selection

CollectionNameCollectionName RestrictionRestrictionss

CollectionNameCollectionName RestrictionRestrictionss

MetaDataCollectionsMetaDataCollections n/an/a ViewsViews 33

DataSourceInformationDataSourceInformation n/an/a ViewColumnsViewColumns 44

DataTypesDataTypes n/an/a ParametersParameters 44

RestrictionsRestrictions n/an/a ProceduresProcedures 44

ReservedWordsReservedWords n/an/a ProcedureColumnsProcedureColumns 44

UsersUsers 11 ForeignKeysForeignKeys 44

DatabasesDatabases 11 IndexColumnsIndexColumns 55

TablesTables 44 IndexesIndexes 44

ColumnsColumns 44 UserDefinedTypesUserDefinedTypes 11

GetSchema("GetSchema("collection-namecollection-name",", restrictions[restrictions[xx])])

Page 58: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

ADO.NET 2.0 – DataSetADO.NET 2.0 – DataSet

Mejoras en el desempeñoMejoras en el desempeñoMantiene indices internos de los registros de sus Mantiene indices internos de los registros de sus DataTablesDataTables

Soporte para Serialización BinariaSoporte para Serialización Binaria

Actualizaciónes por lotes (Batched Updates) Insert, Actualizaciónes por lotes (Batched Updates) Insert, Update y Delete.Update y Delete.Instancias de DataTables independientesInstancias de DataTables independientes

Metodo DataSet.LoadMetodo DataSet.Load

DataSet.RemotingFormat = SerializationFormat.Binary

DataAdapter.Fill(DataTable)DataAdapter.Fill(DataTable[ ])DataAdapter.Update(DataTable)DataTable.Load(DataReader [, load-option] [, FillErrorEventHandler])

Page 59: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

ADO.NET 2.0 - DataTableADO.NET 2.0 - DataTable

Operaciones comunes del Operaciones comunes del DataSet DataSet también también

disponibles en el disponibles en el DataTable:DataTable:

ReadXml, ReadXmlSchema, WriteXml, ReadXml, ReadXmlSchema, WriteXml,

WriteXmlSchema, Clear, Clone, Copy, Merge, WriteXmlSchema, Clear, Clone, Copy, Merge,

GetChanges GetChanges

DataTable es DataTable es auto-serializableauto-serializable::

Buen mecanismo para transmitir datos via unBuen mecanismo para transmitir datos via un

Web Service o RemotingWeb Service o Remoting

Page 60: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

ADO.NET 2.0 – Mas novedadesADO.NET 2.0 – Mas novedades

Valores RowState Valores RowState son actualizablesson actualizables

Nuevos métodosNuevos métodos: DataRow.SetAdded y : DataRow.SetAdded y

DataRow.SetModifiedDataRow.SetModified

Método DataSet.GetDataReaderMétodo DataSet.GetDataReader

Devuelve un Devuelve un DataTableReaderDataTableReader

Usted puede definir qué tablas se incluirán en el Usted puede definir qué tablas se incluirán en el

DataTableReaderDataTableReader

Page 61: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

ADO.NET 2.0 - Tipo de datos XML en el ADO.NET 2.0 - Tipo de datos XML en el DataSetDataSet

DataTable DataTable acepta columnas de tipo acepta columnas de tipo XMLXMLSystem.Data.SqlTypes.SqlXml System.Data.SqlTypes.SqlXml

Expuestas como una instancia de Expuestas como una instancia de XPathDocumentXPathDocumentPueden accederse vía Pueden accederse vía XmlReaderXmlReaderFacilidad de trabajar con documentos XML Facilidad de trabajar con documentos XML como un conjunto de valorescomo un conjunto de valores

Page 62: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

ADO.NET 2.0 - Actualizaciones en ADO.NET 2.0 - Actualizaciones en BatchBatch

ADO.NET 2.0 permite realizar ejecutar ADO.NET 2.0 permite realizar ejecutar múltiples instrucciones SQL sobre una base múltiples instrucciones SQL sobre una base de datos de forma batch, usando el de datos de forma batch, usando el sp_executesql.sp_executesql.Reduce tránsito en la redReduce tránsito en la redDataAdapter.UpdateBatchSize = batch_sizeDataAdapter.UpdateBatchSize = batch_sizeTrabaja con transaccionesTrabaja con transaccionesTrabaja con Trabaja con SQL Server 7, 2000, 2005 y SQL Server 7, 2000, 2005 y clases OracleClientclases OracleClient

Page 63: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Code snippets crea plantillas para tareas comunes

Mejoras en el IDE: DesignerMejoras en el IDE: Designer

Page 64: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Mejoras en el IDE: DesignerMejoras en el IDE: Designer

Docking tips

Page 65: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Snap lines

Mejoras en el IDE: DesignerMejoras en el IDE: Designer

SmartSmartTagsTags

Page 66: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Mejoras en el IDE: DesignerMejoras en el IDE: Designer

ToolStripToolStrip

Page 67: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Novedades en el RuntimeNovedades en el Runtime

Win XP Visual StyleWin XP Visual StyleClickOnceClickOnceClient ConfigurationClient ConfigurationData SupportData Support

Page 68: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Windows FormsWindows FormsNuevo look & feelNuevo look & feel

Basado en estilos XPBasado en estilos XPAspecto OfficeAspecto Office

Nuevos controlesNuevos controlesGridViewGridViewMaskEditMaskEditToolbarToolbarWeb browserWeb browserSoundPlayerSoundPlayer

Nuevos LayoutsNuevos LayoutsGrid, FlowGrid, Flow

Page 69: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

Windows FormsWindows FormsClick Once DeploymentClick Once Deployment

Nuevo método de distribución de aplicacionesNuevo método de distribución de aplicacionesSoporte modo offlineSoporte modo offlineSeguridad controladaSeguridad controlada

Fácil de instalar y actualizarFácil de instalar y actualizarLa aplicación detecta automáticamente los La aplicación detecta automáticamente los cambioscambiosIcono en Control PanelIcono en Control PanelPosibilidad de RollbackPosibilidad de Rollback

Page 70: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

RecursosRecursos

Programa “Desarrollador Cinco Estrellas 2005”Programa “Desarrollador Cinco Estrellas 2005”

http://www.microsoft.com/spanish/msdn/comunidad/dce2005/

Universidad .NETUniversidad .NEThttp://www.microsoft.com/spanish/msdn/comunidad/uni.net/

MSDN FlashMSDN Flashhttp://www.microsoft.com/spanish/msdn/latam/msdnflash/

httphttp://://es.thespoke.netes.thespoke.net//httphttp://://es.thespoke.netes.thespoke.net//premiumpremium//httphttp://://lab.msdn.microsoft.comlab.msdn.microsoft.com//expressexpress//httphttp://://lab.msdn.microsoft.comlab.msdn.microsoft.com/vs2005/vs2005httphttp://://www.microsoft.comwww.microsoft.com//spanishspanish//msdnmsdn//centro_recursoscentro_recursos/vs2005//vs2005/

Page 71: Microsoft Visual Studio 2005.NET Framework 2.0 e Introducción a Visual Studio 2005 Nombre Presentador.

© 2004 Microsoft Corporation. All rights reserved.© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.