Limitaciones de Office Web Components cuando se utiliza servidor

Resumen

Microsoft Office Web Components proporcionan a los desarrolladores Web Hoja de cálculo, gráficos y capacidades de tablas dinámicas para agregar dinamismo a las páginas Web. Los componentes se desarrollaron como controles ActiveX del cliente que se pueden utilizar dentro de Microsoft Internet Explorer.

Sin embargo, la funcionalidad de los componentes, ha llevado muchos desarrolladores para utilizarlas en soluciones de servidor, como en páginas Active Server (ASP) o COM + para generar y exportar gráficos. Mientras que los componentes pueden utilizarse de esta forma, limitaciones pueden obstaculizar la estabilidad y el rendimiento del código del servidor y pueden hacer que los componentes problemáticos en una solución de servidor a gran escala.

Más información

Microsoft no recomienda que utilice el Office Web Components en una solución de servidor. Varios conoce las limitaciones impiden que los componentes funciona correctamente en un entorno altamente reentrante, en paralelo y no interactivas. Entre los problemas que puede experimentar son los siguientes:

  • Lento rendimiento deficiente o ejecución: The Office 2000 Web Components se diseñaron para el entorno de apartamento de un único subproceso (STA) múltiples de Internet Explorer y no el entorno de apartamento multiproceso (MTA) de la mayoría de las aplicaciones del servidor. La protección para la concurrencia de subproceso para el Office Web Components no se diseñó para el alto volumen, llamadas multiproceso que son típicas de un servicio Web y, por tanto, puede afectar al rendimiento. Por ejemplo, el Office Web Components proteger un número de bloques de memoria compartida con la misma sección crítica, de modo que aún se pueden bloquear subprocesos que no modifican una sección de memoria si otro subproceso modifica la sección de memoria. Además, muchas de las funciones de procesamiento se importaron desde otros orígenes de Office que se diseñaron en un modelo de un único subproceso, y estas secciones de código no se pueden ejecutar simultáneamente.
  • Errores de la memoria: la de Office Web Components utiliza una versión estática de la biblioteca compartida Microsoft Office para controlar la administración de memoria. Las funciones de asignación de memoria de la biblioteca compartida Microsoft Office están diseñadas para el lado del cliente y no esperan que las cargas y solicitudes simultáneas que son habituales en una solución de servidor. Esto puede limitar la cantidad de memoria que los componentes tienen a su disposición, independientemente de la cantidad de memoria libre en el equipo.
  • Errores de automatización al azar el tiempo: la de Office Web Components Utilice unas pocas variables de estado que no están completamente protegidas, y si se cambian las variables mientras se ejecuta una función, pueden hacer que la función no funcionara inesperadamente. Funciones que requieren procesamiento (por ejemplo, solicitar datos de un origen de datos o calcular valores de celda en una hoja de cálculo) asincrónico están más probable que generan tales errores si va a automatizar varios subprocesos simultáneamente.
  • Interbloqueos de subproceso: en algunas situaciones, los Office Web Components puede encontrar las condiciones de carrera que llevan a los Estados de espera indefinida o excepciones globales, que pueden huérfano de un subproceso y causar una pérdida de recursos. Estas situaciones suelen producen cuando los componentes se "ponen de relieve"; Por ejemplo, esto puede ocurrir cuando un gran número de clientes realizan solicitudes simultáneas con el servidor, y cada solicitud crea, automatiza o destruye su propia instancia de componente. Agrupación de instancias puede minimizar el riesgo de interbloqueo.
  • Contención de subprocesos múltiples: si crear por separado de Office Web Components en separar apartamentos de subproceso único (STA) dentro de un único proceso y los subprocesos se ejecutan simultáneamente, puede encontrar las reducciones del rendimiento o problemas de contención que pueden resultar en daños de estado o uso de CPU alta de subprocesos. Se recomienda que mantenga todas las instancias en el mismo STA, o si necesita parellel ejecución, crear procesos independientes para hospedar cada subproceso STA es necesitado.
Los problemas con el Office Web Components que se muestran arriba son limitaciones que son coherentes con su previsto utilizar los controles ActiveX en el cliente como el diseño. Ninguna solución o corrección está disponible para estas limitaciones de Office Web Components.

Aunque puede ejecutar el servidor de Office Web Components y esto funcionará para un sitio Web pequeño, estos problemas pueden impedir escalar la solución hasta el identificador de un sitio Web grande que tiene mucho tráfico. Si piensa que una nueva solución, considere los requisitos de escala cuidadosamente y decidir si Office Web Components es adecuada para satisfacer la demanda. Si necesita una solución más escalable, hay muchos productos de terceros que pueden realizar operaciones similares y están diseñados específicamente para las operaciones del servidor. Estos productos de terceros sean más adecuados a sus necesidades.

Si actualmente utiliza el Office Web Components en su solución de servidor Web, considere la posibilidad de actualizar a la versión más reciente de Office Web Components. Algunos problemas de error de memoria y problemas de error de automatización se han tratado en versiones más recientes de Office Web Components. Sin embargo, el diseño de los Office Web Components como controles de ActiveX no hará ellos totalmente confiable para proyectos Web de gran escala si se ejecutan los componentes del servidor.

Referencias

Para descargar la versión más reciente de los Office Web Components, consulte el siguiente sitio Web de Office:
Para obtener más información acerca de situaciones donde un programador puede desear utilizar Office Web Components en el servidor, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:

286278 cómo crear un interactivo Office XP gráfico del servidor con ASP

294798 cómo utilizar ASP para crear una tabla dinámica de XP de Office y mostrar los resultados como HTML

Propiedades

Id. de artículo: 317316 - Última revisión: 17 ene. 2017 - Revisión: 1

Comentarios