Dic16
2004Utilizar objetos COM en Asp.NET
Autor: S3rGy0 | Archivado en: ASP
2004
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:
<%@ Page Language=”vb” AutoEventWireup=”false” Codebehind=”Inicio.aspx.vb” Inherits=”Prueba.WebForm1″%>
Pues bien, al final de esta línea añadiremos:
<%@ Page Language=”vb” AutoEventWireup=”false” Codebehind=”Inicio.aspx.vb” Inherits=”Prueba.WebForm1″ AspCompat=”True”%>
Con la expresión AspCompat=”True” se ejecutará la página en SingleThread y nos ahorraremos muchos problemas de consumo de recursos.
Saludos









Deja un comentario.