Post on 22-Jan-2018
LENGUAJE DE PROGRAMACION II
¿Qué es NET Framework?
NET Framework es un entorno de ejecución administrado que proporciona diversos servicios a
las aplicaciones en ejecución. Consta de dos componentes principales: Common Language
Runtime (CLR), que es el motor de ejecución que controla las aplicaciones en ejecución, y la
biblioteca de clases de .NET Framework, que proporciona una biblioteca de código probado y
reutilizable al que pueden llamar los desarrolladores desde sus propias aplicaciones.
Estructura de NET Framework
.NET Framework 4.6.1
.NET 2015 y .NET Framework 4.6
.NET Framework 4.5.2
.NET Framework 4.5.1
.NET Framework 4.5
NET Framework 4.6.1
NET Framework 4.6.1 puede instalarse en Windows 10, Windows 8.1, Windows 8, Windows 7,
Windows Vista y todas las plataformas de servidor correspondientes a partir de Windows Server
2008 R2 SP1. Puede instalar .NET Framework 4.6.1 mediante el instalador web o el instalador sin
conexión. La manera recomendada para la mayoría de los usuarios es usar el programa de
instalación web.
NET Framework 4.6.1 incluye nuevas características en las áreas siguientes:
Criptografía
ADO.NET
Windows Presentation Foundation (WPF)
Windows Workflow Foundation
Generación de perfiles
NGen
Para obtener más información sobre .NET Framework 4.6.1, vea uno de los temas siguientes:
La propiedad SIDHistory hace esto posible.
Compatibilidad de aplicaciones en .NET Framework 4.6.1
Diferencia de la API de .NET Framework (en GitHub)
Cifrado: compatibilidad con certificados X509 que contienen ECDSA
La versión 4.6 de .NET Framework agrega compatibilidad con RSACng para certificados X509. La
propiedad SIDHistory hace esto posible.
ECDSA ofrece un mejor rendimiento y es un algoritmo de cifrado más seguro que RSA, lo que lo
convierte en una excelente elección cuando están en juego la escalabilidad y el rendimiento de
la seguridad de capa de transporte (TLS). La implementación de .NET Framework encapsula las
llamadas en funciones de Windows existentes.
El ejemplo de código siguiente muestra lo fácil que es generar una firma para una secuencia de
bytes mediante la nueva compatibilidad para certificados X509 de ECDSA incluidos en .NET
Framework 4.6.1.
C#
VB
using System;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
public class Net461Code
LENGUAJE DE PROGRAMACION II
{
public static byte[] SignECDsaSha512(byte[] data, X509Certificate2
cert)
{
using (ECDsa privateKey = cert.GetECDsaPrivateKey())
{
return privateKey.SignData(data,
HashAlgorithmName.SHA512);
}
}
public static byte[] SignECDsaSha512(byte[] data, ECDsa
privateKey)
{
return privateKey.SignData(data, HashAlgorithmName.SHA512);
}
}
Esto ofrece un contraste marcado para el código necesario para generar una firma en .NET
Framework 4.6.
C#
VB
using System;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
public class Net46Code
{
public static byte[] SignECDsaSha512(byte[] data, X509Certificate2
cert)
{
// This would require using cert.Handle and a series of
p/invokes to get at the
// underlying key, then passing that to a CngKey object, and
passing that to
// new ECDsa(CngKey). It's a lot of work.
throw new Exception("That's a lot of work...");
}
public static byte[] SignECDsaSha512(byte[] data, ECDsa
privateKey)
{
// This way works, but SignData probably better matches what
you want.
using (SHA512 hasher = SHA512.Create())
{
byte[] signature1 =
privateKey.SignHash(hasher.ComputeHash(data));
}
// This might not be the ECDsa you got!
ECDsaCng ecDsaCng = (ECDsaCng)privateKey;
ecDsaCng.HashAlgorithm = CngAlgorithm.Sha512;
return ecDsaCng.SignData(data);
}
LENGUAJE DE PROGRAMACION II
Novedades de .NET 2015
.NET 2015 presenta .NET Framework 4.6 y .NET Core. Algunas características nuevas se aplican a
ambos, y otras son específicas de .NET Framework 4.6 o Núcleo de .NET.
ASP.NET
.NET Framework 2015 incluye ASP.NET 5, que es una plataforma .NET eficiente para la
compilación de aplicaciones modernas basadas en la nube. La plataforma es modular,
por lo que puede incluir solo aquellas características que se necesitan en la
aplicación. Puede hospedarse en IIS o autohospedarse en un proceso personalizado y se
pueden ejecutar aplicaciones con diferentes versiones de .NET Framework en el mismo
servidor. Incluye un nuevo sistema de configuración de entorno que está diseñado para
la implementación de la nube.
MVC, Web API y Web Pages están unificados en un marco único llamado MVC 6. Las
aplicaciones de ASP.NET 5 se compilan con las nuevas herramientas de Visual Studio
2015. Las aplicaciones existentes funcionarán en el nuevo.
Compilador JIT de 64 bits para código administrado
.NET Framework 4.6 incluye una nueva versión del compilador JIT de 64 bits (llamado
originalmente RyuJIT). El nuevo compilador de 64 bits proporciona importantes mejoras
de rendimiento con respecto al antiguo compilador JIT de 64 bits. El nuevo compilador
de 64 bits está habilitado para los procesos de 64 bits que se ejecutan en .NET
Framework 4.6. La aplicación se ejecutará en un proceso de 64 bits si se ha compilado
como aplicación de 64 bits o AnyCPU y se está ejecutando en un sistema operativo de
64 bits es posible que se produzcan cambios en el comportamiento. Nos gustaría que
se pusiera en contacto con nosotros si encuentra algún problema al usar el nuevo
compilador JIT.Póngase en contacto con nosotros a través de Microsoft Connect si
detecta algún problema que pueda estar relacionado con el nuevo compilador JIT de 64
bits.
Mejoras en el cargador de ensamblados
Ahora el cargador de ensamblados usa la memoria de un modo más eficaz al descargar
ensamblados de IL después de cargar una imagen NGEN correspondiente. Este cambio
reduce la memoria virtual, que es bastante útil en las aplicaciones de 32 bits de gran
tamaño (por ejemplo, Visual Studio), y también guarda la memoria física.
Cambios en la biblioteca de clases base
Se agregaron muchas nuevas API a .NET Framework 4.6 para habilitar escenarios
clave. Incluyen los siguientes cambios y adiciones:
Windows Presentation Foundation (WPF)
o Mejoras en el HDPI
Se ha mejorado la compatibilidad con HDPI en WPF en .NET Framework 4.6. Se
han hecho cambios en el redondeo del diseño para reducir las instancias de
recorte en los controles que contienen bordes. De forma predeterminada, esta
característica solo está habilitada si se establece TargetFrameworkAttribute en
.NET 4.6. Las aplicaciones que tienen como destino versiones anteriores del
marco y que se ejecutan en .NET Framework 4.6 pueden participar en el nuevo
comportamiento agregando la siguiente línea a la sección <runtime> del
archivo app.config.
LENGUAJE DE PROGRAMACION II
Windows Communication Foundation (WCF).
o Compatibilidad con SSL
WCF ahora admite la versión con SSL TLS 1.1 y TLS 1.2, además de SSL 3.0 y TLS
1.0, al usar NetTcp con la autenticación de cliente y la seguridad de
transporte. Ahora se puede seleccionar el protocolo que se quiere usar o bien
deshabilitar protocolos antiguos menos seguros; para ello, establezca la
propiedad SslProtocols o agregue lo siguiente a un archivo de configuración.
<netTcpBinding>
<binding>
<security mode=
"None|Transport|Message|TransportWithMessageCredential" >
<transport
clientCredentialType="None|Windows|Certificate"
protectionLevel="None|Sign|EncryptAndSign"
sslProtocols="Ssl3|Tls1|Tls11|Tls12">
</transport>
</security>
</binding>
</netTcpBinding>
Windows Workflow Foundation (WWF)
Ahora puede especificar los segundos durante los que un servicio de flujo de trabajo
retendrá una solicitud de operación fuera de servicio cuando haya un marcador que no
sea de protocolo pendiente antes de que expire la solicitud. Un marcador "no de
protocolo" es un marcador que no está relacionado con las actividades de recepción
pendientes. Algunas actividades crean marcadores no de protocolo dentro de su
implementación.
Transacciones.
Ahora puede incluir el identificador de transacción distribuida para la transacción que
provocó que se produjera una excepción derivada deTransactionException. Para ello,
agregue la siguiente clave a la sección appSettings del archivo app.config:
<add
key="Transactions:IncludeDistributedTransactionIdInExceptionMess
age" value="true"/>
El valor predeterminado es false.
Cambio de tamaño en controles de Windows Forms.
Esta característica se amplió en .NET Framework 4.6 para incluir los
tipos DomainUpDown, NumericUpDown,DataGridViewComboBoxColumn, DataGridVie
wColumn y ToolStripSplitButton y el rectángulo especificado por la
propiedad Bounds que se usa al dibujar un UITypeEditor.
<appSettings>
<add key="EnableWindowsFormsHighDpiAutoResizing" value="true"
/>
</appSettings>
LENGUAJE DE PROGRAMACION II
Compatibilidad para codificaciones de páginas de códigos
Núcleo de .NET admite principalmente las codificaciones Unicode y, de forma
predeterminada, proporciona compatibilidad limitada para las codificaciones de páginas
de códigos. Puede agregar compatibilidad para codificaciones de páginas de códigos
disponibles en .NET Framework, pero no admitidas en Núcleo de .NET registrando
codificaciones de páginas de códigos con el métodoEncoding.RegisterProvider. Para
obtener más información, vea System.Text.CodePagesEncodingProvider.
NET Native
Las aplicaciones de Windows para Windows 10 que tienen como destino Núcleo de
.NET y están escritas en C# o Visual Basic pueden aprovechar una nueva tecnología que
compila las aplicaciones en código nativo en lugar de IL. Generan aplicaciones que se
caracterizan por un inicio y tiempos de ejecución más rápidos. Para obtener más
información, consulte Compilar aplicaciones con .NET Native. Para obtener información
general.
NET Framework 4.5.2
Nuevas API para aplicaciones de ASP.NET. Los nuevos
métodos HttpResponse.AddOnSendingHeaders yHttpResponseBase.AddOnSendingHea
ders le permiten inspeccionar y modificar encabezados y códigos de estado cuando se
vuelca la respuesta de la aplicación cliente. Puede usar estos métodos en lugar de los
eventos PreSendRequestHeaders y PreSendRequestContent, ya que son más eficientes y
fiables.
Cambio de tamaño en controles de Windows Forms. Esta característica se ha
ampliado. Ahora se puede usar el valor de PPP del sistema para cambiar el tamaño de
componentes de los siguientes controles adicionales (por ejemplo, la flecha desplegable
en cuadros combinados):
ComboBox
ToolStripComboBox
ToolStripMenuItem
Cursor
DataGridView
DataGridViewComboBoxColumn
Nueva característica de flujo de trabajo. Un administrador de recursos que usa el
método EnlistPromotableSinglePhase (y, por lo tanto, implementa la
interfaz IPromotableSinglePhaseNotification) puede usar el nuevo
método Transaction.PromoteAndEnlistDurable para pedir lo siguiente:
o Promocionar la transacción a una transacción de MSDTC (Coordinador de
transacciones distribuidas de Microsoft).
o Reemplace IPromotableSinglePhaseNotification con
una ISinglePhaseNotification, que es una inscripción duradera que admite
confirmaciones de fase única.
Mejoras de generación de perfiles. Las siguientes API de generación de perfiles no
administradas proporcionan una generación de perfiles más sólida:
COR_PRF_ASSEMBLY_REFERENCE_INFO (Estructura)
COR_PRF_HIGH_MONITOR (Enumeración)
ICorProfilerCallback6::GetAssemblyReferences (Método)
ICorProfilerInfo5::GetEventMask2 (Método)
ICorProfilerInfo5::SetEventMask2 (Método)
ICorProfilerAssemblyReferenceProvider::AddAssemblyReference (Método)
LENGUAJE DE PROGRAMACION II
Mejoras en la depuración. Las API de depuración no administradas proporcionan una
mejor integración con un generador de perfiles.Ahora se puede acceder a metadatos
insertados por el generador de perfiles, así como a variables locales y código
producidos por solicitudes de ReJIT del compilador en la depuración de volcados.
ICorDebugProcess7::SetWriteableMetadataUpdateMode (Método)
ICorDebugILFrame4::EnumerateLocalVariablesEx (Método)
ICorDebugILFrame4::GetLocalVariableEx (Método)
ICorDebugILFrame4::GetCodeEx (Método)
ICorDebugFunction3::GetActiveReJitRequestILCode (Método)
ICorDebugILCode2::GetInstrumentedILMap (Método)
NET Framework 4.5.1
Actualizaciones de abril de 2014:
Visual Studio 2013 Update 2: contiene actualizaciones para las plantillas de la
Biblioteca de clases portable para garantizar la compatibilidad en los escenarios
siguientes:
o Puede usar las API de Windows en tiempo de ejecución en bibliotecas portables
cuyo destino sea Windows 8.1, Windows Phone 8.1 y
Windows Phone Silverlight 8.1.
o Puede incluir XAML (tipos de Windows.UI.XAML) en las bibliotecas portables
cuyo destino es Windows 8.1 o Windows Phone 8.1. Se admiten las siguientes
plantillas de XAML: página en blanco, diccionario de recursos, control basado
.
El conjunto de contenido de .NET Framework ahora incluye documentación para .NET
Native, que es una tecnología de precompilación para crear e implementar aplicaciones
de Windows..NET Native compila aplicaciones directamente en código nativo, en lugar
de hacerlo en un lenguaje intermedio (IL), lo que mejora el rendimiento. Para obtener
información detallada, vea Compilar aplicaciones con .NET Native.
.NET Framework Reference Source proporciona una nueva experiencia de exploración y
mejores funciones. Ahora puede consultar en línea el código fuente de
.NET Framework, descargar la referencia para visualizarlo sin conexión y examinar el
código (incluidas revisiones y actualizaciones) durante la depuración. Para obtener más
información, vea la entrada de blog Un nuevo aspecto para el origen de referencia de
.NET.
Editar y continuar en aplicaciones de 64 bits. Visual Studio 2013 admite la característica
Editar y continuar en aplicaciones administradas de 64 bits para el escritorio, la Tienda
Windows y Windows Phone. Las limitaciones existentes siguen en vigor para las
aplicaciones de 32 bits y 64 bits (vea la última sección del artículo Cambios admitidos
en el código (C#)).
Depuración asincrónica. Para facilitar la depuración de aplicaciones asincrónicas en
Visual Studio 2013, la pila de llamadas oculta el código de infraestructura
proporcionado por l aplicación. Puede obtener más información sobre esta
característica en la sección “Depuración asincrónica” de la publicación sobre el anuncio
de .NET Framework 4.5.1.
Mayor compatibilidad con las excepciones de los componentes de Windows en tiempo
de ejecución. En Windows 8.1, las excepciones que se inician en aplicaciones de la
Tienda Windows conservan información sobre el error que provocó la excepción,
incluso entre diferentes lenguajes. Puede obtener más información sobre esta
LENGUAJE DE PROGRAMACION II
NET Framework 4.5
Principales características nuevas y mejoras
Capacidad para reducir los reinicios del sistema mediante la detección y cierre de las
aplicaciones de .NET Framework 4 durante la implementación. Vea Reducir los reinicios
del sistema durante las instalaciones de .NET Framework 4.5.
Compatibilidad con matrices mayores de 2 gigabytes (GB) en plataformas de 64
bits. Esta característica se puede habilitar en el archivo de configuración de la
aplicación. Consulte el elemento, donde también se indican otras restricciones de
tamaño de objeto y de tamaño de matriz.
Mayor rendimiento a través de la recolección de elementos no utilizados en segundo
plano en el caso de los servidores. Cuando se usa la recolección de elementos no
utilizados de los servidores en .NET Framework 4.5, se habilita automáticamente la
recolección de elementos no utilizados en segundo plano. Vea la sección sobre la
recolección de elementos no utilizados en segundo plano de los servidores del
tema Fundamentals of Garbage Collection.
Compilación Just-in-time (JIT) en segundo plano, que se encuentra disponible
opcionalmente en los procesadores de varios núcleos para mejorar el rendimiento de la
aplicación. Vea ProfileOptimization.
Managed Extensibility Framework (MEF)
En el panel de Actions, seleccionar Start si se quiere iniciar el servidor web, Stop si se quiere
finalizar el servidor web, o Restart si se quiere primero finalizar IIS, y luego iniciarlo otra vez.
Compatibilidad con los tipos genéricos.
Modelo de programación basado en convenciones que permite crear elementos
basándose en convenciones de nomenclatura en lugar de en atributos.
Ámbitos múltiples.
Un subconjunto de MEF que puede usar cuando cree aplicaciones de la Tienda
Windows 8.x. Este subconjunto está disponible como un paquete en la galería de
NuGet. Para instalar el paquete, abra el proyecto en Visual Studio, elija Administrar
paquetes de NuGet en el menú Proyecto.
Operaciones de archivo asincrónicas
En el panel de Actions, seleccionar Start si se quiere iniciar el servidor web, Stop si se quiere
finalizar el servidor web, o Restart si se quiere primero finalizar IIS, y luego iniciarlo otra
vez. Estas características agregan un modelo basado en tareas para realizar operaciones
asincrónicas. Para utilizar este nuevo modelo.
Herramientas
En el panel de Actions, seleccionar Start si se quiere iniciar el servidor web, Stop si se quiere
finalizar el servidor web, o Restart si se quiere primero finalizar IIS, y luego iniciarlo otra vez. La
optimización guiada por perfiles administrados (Mpgo.exe) permite mejorar el tiempo de inicio
de la aplicación.
Informática en paralelo
.NET Framework 4.5 cuenta con varias características y mejoras nuevas para el procesamiento
informático en paralelo. Entre estas se incluyen un rendimiento mejorado, mayor control, mejor
compatibilidad con la programación asincrónica, una nueva biblioteca de flujo de datos y mejor
compatibilidad para la depuración y el análisis de rendimiento en paralelo. Vea la
entrada Novedades de paralelismo en .NET 4.5 del blog Programación en paralelo con .NET.
LENGUAJE DE PROGRAMACION II
Web
ASP.NET 4.5 y 4.5.1 incorporan el enlace de modelos de formularios Web Forms, compatibilidad
con WebSocket, controladores asincrónicos, mejoras de rendimiento y muchas otras
características. Para obtener más información, vea los siguientes recursos:
ASP.NET 4.5 y Visual Studio 2012 en la Biblioteca MSDN.
ASP.NET 4.5.1 y Visual Studio 2013 en el sitio de ASP.NET.
Redes
.NET Framework 4.5 proporciona una nueva interfaz de programación para aplicaciones
HTTP. Para obtener más información, vea los nuevos espacios de
nombres System.Net.Http y System.Net.Http.Headers.
También se incluye compatibilidad con una nueva interfaz de programación para aceptar e
interactuar con una conexión WebSocket mediante el objeto.
Además, .NET Framework 4.5 incluye las siguientes mejoras de red:
Compatibilidad de URI conforme a RFC.
Compatibilidad con el análisis de nombres de dominio internacionalizados (IDN).
Windows Presentation Foundation (WPF)
En el panel de Actions, seleccionar Start si se quiere iniciar el servidor web, Stop si se quiere
finalizar el servidor web, o Restart si se quiere primero finalizar IIS, y luego iniciarlo otra vez.
El nuevo control Ribbon, que permite implementar una interfaz de usuario en forma de
cinta que incluye una barra de herramientas de acceso rápido, un menú de aplicación y
pestañas.
La nueva interfaz INotifyDataErrorInfo, que admite la validación de datos sincrónica y
asincrónica.
Windows Communication Foundation (WCF)
En el panel de Actions, seleccionar Start si se quiere iniciar el servidor web, Stop si se quiere
finalizar el servidor web, o Restart si se quiere primero finalizar IIS, y luego iniciarlo otra vez.
Simplificación de los archivos de configuración generados.
Compatibilidad con el desarrollo del contrato en primer lugar.
Capacidad de configurar el modo de compatibilidad de ASP.NET más fácilmente.
.
Windows Workflow Foundation (WF) En el panel de Actions, seleccionar Start si se quiere iniciar el servidor web, Stop si se quiere
finalizar el servidor web, o Restart si se quiere primero finalizar IIS, y luego iniciarlo otra vez.
Flujos de trabajo de máquina de estados, que se incluyeron primero como parte de .NET
Framework 4.0.1 (Actualización 1 de la plataforma .NET Framework 4)
o Capacidad de establecer puntos de interrupción en estados
o Capacidad de copiar y pegar transiciones en el Diseñador de flujo de trabajo
o Compatibilidad del diseñador para la creación de transiciones de
desencadenador compartidas
o Actividades para crear flujos de trabajo de máquina de estados, incluidas:
NET para aplicaciones de la Tienda Windows 8.x
Las aplicaciones de la Tienda Windows 8.x están diseñadas para factores de forma específicos y
aprovechan la eficacia del sistema operativo Windows. Un subconjunto de .NET Framework 4.5 o
4.5.1 está disponible para compilar aplicaciones de la Tienda Windows 8.x para Windows
mediante C# o Visual Basic. Este subconjunto se denomina .NET para aplicaciones de la Tienda
Windows 8.x y se explica en una introducción del Centro de desarrollo de Windows.