Dic16
2004
Utilizar objetos COM en Asp.NET

Autor: S3rGy0 | Archivado en: ASP

Es bastante normal que queramos utilizar objetos COM de nuestras aplicaciones en ASP 3.0 por estar acostumbrados a ellos, o simplemente porque no hay aún ninguna versión en .NET del mismo. Por ejemplo, hace un tiempo, estuve utilizando una DLL de Adobe para crear PDFs, ya que era un informe estático y no tenía necesidad de pringarme con Crystal Reports. Cuando fui a descargarme esta DLL descubrí que no tenían versión en .NET (assembly) sino que era un objeto COM (DLL).

Si no se usan correctamente estos objetos pueden llegar a saturar el servidor en el que están alojados, ya que no liberan memoria y llega un momento en el que el servidor se satura. Esto se debe a que por defecto, el Framework ejecuta los objetos en MultiThread, ya que los assemblys están preparados para ello, pero los objetos COM no. Para utilizarlos correctamente tenemos que ejecutar nuestra página aspx en SingleThread. Para ello abrimos la página donde se hace referencia al objeto COM, nos vamos al código HTML y en la primera línea veremos algo como esto:

&lt%@ Page Language=”vb” AutoEventWireup=”false” Codebehind=”Inicio.aspx.vb” Inherits=”Prueba.WebForm1″%&gt

Pues bien, al final de esta línea añadiremos:

&lt%@ Page Language=”vb” AutoEventWireup=”false” Codebehind=”Inicio.aspx.vb” Inherits=”Prueba.WebForm1″ AspCompat=”True”%&gt

Con la expresión AspCompat=”True” se ejecutará la página en SingleThread y nos ahorraremos muchos problemas de consumo de recursos.

Saludos


  • Digg
  • del.icio.us
  • Facebook
  • Google
  • LinkedIn
  • Meneame
  • MySpace
  • Technorati
  • TwitThis
Posts Relacionados

Deja un comentario.