REVISIÓN: El rendimiento de las aplicaciones que utilizan la disminución del método CreateType como agregar más objetos de tipo a un módulo de ensamblado dinámico en.NET Framework 2.0 Service Pack 2

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 970924
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Síntomas
Considere el siguiente escenario:
  • Crear una aplicación mediante el uso de.NET Framework 2.0 Service Pack 2 (SP2).
  • Utilice la clase AssemblyBuilder en el espacio de nombres System.Reflection.Emit para crear un módulo de ensamblado dinámico.
  • Llamar al método TypeBuilder.CreateType para crear objetos de tipo en el módulo y llamar a algunos métodos para insertar información de símbolos en el objeto de texto. Por ejemplo, llamar el método .
En este escenario, cuando se agregan más y más objetos de tipo al módulo, disminuye el rendimiento de las aplicaciones que ejecuta el método CreateType .
Causa
La disminución del rendimiento se debe a lo siguiente:
  • Los símbolos del ensamblado dinámico se vacían en una secuencia con más frecuencia de lo necesario.
  • La implementación de los símbolos de la secuencia, utiliza un algoritmo de O(n^2) para escribir n bytes de símbolos.
Solución

Información de reemplazo de hotfix

La revisión que se corresponde con KB970924has sido reemplazado con la revisión KB981574, que contiene todas las correcciones que anteriormente se incluían en KB970924. Debe utilizar el hotfixKB981574 para corregir los problemas descritos en KB970924. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
981574 La pantalla permanece abierta más de lo habitual cuando intenta iniciar Excel en un equipo que tiene instalado.NET Framework 3.5 SP1

Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".
Más información
La revisión pospone el símbolo de la baja de llamarse al método cuando no tenga el ensamblado dinámico que se ejecuten inmediatamente. Además, la revisión cambiará la implementación de los símbolos de secuencia para utilizar un algoritmo o (n) escribir n bytes de símbolos. Este cambio de implementación se aplica a todos los modos de AssemblyBuilderAccess. Después de instalar el hotfix, el rendimiento mejorará considerablemente. Sin embargo, también se incrementará el uso de memoria.

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 970924 - Última revisión: 01/16/2015 06:16:00 - Revisión: 2.0

Microsoft .NET Framework 2.0 Service Pack 2

  • kbnosurvey kbarchive kbhotfixserver kbexpertiseadvanced kbqfe kbsurveynew kbmt KB970924 KbMtes
Comentarios