REVISIÓN: "No puede utilizarse el objeto COM" Error Message When You Use un objeto de COM STA que se crean utilizando Server.CreateObject y almacenados en el ámbito de sesión en una página Web diferente

Id. de artículo: 818612 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Se crea un apartamento de un subproceso único objeto COM (STA) mediante Server.CreateObject y, a continuación, almacenar este objeto COM STA en ámbito de sesión. Si utiliza este objeto COM STA de otra página Web, recibirá el siguiente mensaje de error:
Objeto COM que se ha separado de su RCW subyacente no se puede utilizar

Solución

importante Para aplicar este hotfix, debe tener .NET Framework Service Pack 2 instalado.

Cómo obtener la revisión

Este problema se corrigió en junio de 2003 Hotfix Package 1.1 de ASP.NET. Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
821156INFORMACIÓN: ASP.NET 1.1 paquete de revisión de junio de 2003
No se puede obtener esta revisión individualmente. Debe instalar el paquete de continuación.

Nota Al solicitar esta revisión, recibirá el resumen.

La versión en inglés de este hotfix tiene los atributos de archivo enumerados en la siguiente tabla u otros posteriores. Las fechas y horas de estos archivos aparecen en la hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria de la herramienta fecha y hora en el panel de control.
   Date         Time   Version       Size       File name
   --------------------------------------------------------------
   25-Apr-2003  03:19  1.0.3705.424    196,608  Aspnet_isapi.dll
   25-Apr-2003  03:19                  510,714  Aspnet_perf2.ini
   25-Apr-2003  03:15                    4,169  Aspnet_perf.h
   25-Apr-2003  03:19                  513,302  Aspnet_perf.ini
   25-Apr-2003  03:19  1.0.3705.424     24,576  Aspnet_regiis.exe
   25-Apr-2003  03:19  1.0.3705.424     28,672  Aspnet_wp.exe
   24-Apr-2003  15:49  1.0.3705.424     69,632  Corperfmonext.dll
   24-Apr-2003  15:47  1.0.3705.424    303,104  Mscorjit.dll
   25-Apr-2003  12:55  1.0.3705.424  1,953,792  Mscorlib.dll
   24-Apr-2003  15:48  1.0.3705.424  2,269,184  Mscorsvr.dll
   01-Aug-2002  18:38                       15  Smartnav.htm
   17-Oct-2002  14:55                    8,728  Smartnav.js
   24-Apr-2003  15:40                   10,284  Mscorlib.ldo
   24-Apr-2003  15:48  1.0.3705.424  2,269,184  Mscorwks.dll
   25-Apr-2003  12:59  1.0.3705.424  1,191,936  System.web.dll

Esta revisión también está disponible para la versión en alemán de Microsoft .NET Framework 1.0. Esta revisión también está disponible para la versión en francés de Microsoft .NET Framework 1.0.

Si aplica la revisión de este artículo para Microsoft ASP.NET incluido con .NET Framework 1.0, y si ha actualizado a Microsoft ASP.NET incluido con .NET Framework 1.1, aplicar el paquete de hotfix desde el siguiente artículo de Microsoft Knowledge Base:
821156INFORMACIÓN: ASP.NET 1.1 paquete de revisión de junio de 2003
Además, si ha actualizado a .NET Framework 1.1, y si experimenta los síntomas de este artículo, aplicar el paquete de hotfix en este artículo de Microsoft Knowledge Base.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Más información

Si crea un objeto STA mediante Server.CreateObject (atributo AspCompat = "true") , puede utilizar el objeto sólo en la página Web que se ha creado para. Si almacena el objeto en el alcance de sesión y, a continuación, intenta tener acceso a él desde una página Web diferente, recibirá el mensaje de error.

Además, si implementa el método OnStartPage y el método OnEndPage del objeto COM STA, estos métodos no llama a en el objeto de la segunda página.

Pasos para reproducir el comportamiento

  1. Utilice el siguiente ejemplo de código para crear un objeto COM de Microsoft Visual Basic 6.0 que tiene AspEventProblem.Class1 para el ProgId :
    Public Function Test() As String
           Test = "Hello from COM Object"
    End Function
  2. Utilice Microsoft Visual Basic .NET para crear una nueva aplicación Web.
  3. Crear un Web Form denominado WebForm1.aspx .
  4. Agregue un objeto Button a WebForm1.aspx que contiene el siguiente código de ejemplo:
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As 	System.EventArgs) Handles MyBase.Load 
          Session("mycomp") =Server.CreateObject("AspEventProblem.Class1") 
    End Sub Private Sub
    Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
          Handles Button1.Click Response.Redirect("webform2.aspx") 
    End Sub 
  5. Crear un Web Form denominado WebForm2.aspx que contiene el siguiente código de ejemplo:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Label1.Text = Session("mycomp").Test()
    End Sub
  6. En el explorador, ver WebForm1 y, a continuación, haga clic en Button1 .
  7. Cuando aparezca el WebForm2, haga clic en Button1 .

Propiedades

Id. de artículo: 818612 - Última revisión: martes, 25 de octubre de 2005 - Versión: 5.2
La información de este artículo se refiere a:
  • Microsoft .NET Framework 1.0
Palabras clave: 
kbmt kbhotfixserver kbqfe kbqfe kbnetframe100presp3fix kbfix kbbug KB818612 KbMtes
Traducción automática
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): 818612

Enviar comentarios