FIX: "Oggetto COM non can be used" Error Message When ╚ Use un STA COM Object create mediante server.CreateObject e memorizzazione in ambito sessione in una pagina Web diversa

Traduzione articoli Traduzione articoli
Identificativo articolo: 818612 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Si crea un apartment a thread singolo oggetto COM (STA) utilizzando server.CreateObject e quindi Ŕ memorizzare l'oggetto COM STA in ambito sessione. Se si utilizza l'oggetto COM STA un'altra pagina Web, Ŕ visualizzato il seguente messaggio di errore:
Non Ŕ possono utilizzare oggetti COM separati dai relativi RCW sottostanti

Risoluzione

importante Per applicare questo aggiornamento rapido (hotfix), Ŕ necessario .NET Framework Service Pack 2 installato.

Come ottenere l'aggiornamento rapido

Questo problema Ŕ stato risolto nel giugno 2003 pacchetto Hotfix di ASP.NET 1.1. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
821156INFORMAZIONI: ASP.NET 1.1 giugno 2003 hotfix cumulativo
╚ Impossibile ottenere questa correzione singolarmente. ╚ necessario installare l'aggiornamento cumulativo.

Nota Quando si richiede questo aggiornamento rapido (hotfix), viene visualizzato il rollup.

La versione inglese di questo aggiornamento rapido (hotfix) presenta gli attributi di file (o successivi) elencati nella tabella riportata di seguito. Date e ore per questi file sono indicati nella coordinated universal time (UTC). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e l'ora locale, utilizzare la scheda fuso orario dello strumento Data e ora del Pannello di controllo.
   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

Questo aggiornamento rapido (hotfix) disponibile anche per la versione tedesca di Microsoft .NET Framework 1.0. ╚ disponibile per la versione francese di Microsoft .NET Framework 1.0 anche questo aggiornamento rapido (hotfix).

Se Ŕ applicato l'hotfix descritto in questo articolo per Microsoft ASP.NET incluso in .NET Framework 1.0 e se Ŕ stato eseguito l'aggiornamento a Microsoft ASP.NET incluso in .NET Framework 1.1, si applicano il pacchetto di aggiornamenti rapidi dal seguente articolo della Microsoft Knowledge Base:
821156INFORMAZIONI: ASP.NET 1.1 giugno 2003 hotfix cumulativo
Inoltre, se Ŕ stato eseguito l'aggiornamento a .NET Framework 1.1 e se si verificano i sintomi di questo articolo, Ŕ possibile applicare l'hotfix da questo articolo della Microsoft Knowledge Base riportato di seguito.

Status

Microsoft ha confermato che questo problema riguarda i prodotti sono elencati nella sezione "Si applica a".

Informazioni

Se si crea un oggetto STA utilizzando server.CreateObject (attributo AspCompat = "true") , Ŕ possibile utilizzare l'oggetto solo nella pagina Web che Ŕ stato creato per. Se si archiviazione l'oggetto nell'ambito di sessione, e quindi si tenta di accedere da una pagina Web diversa, riceverai il messaggio di errore.

Inoltre, se si implementa il metodo di OnStartPage e il metodo OnEndPage dall'oggetto COM STA, questi metodi non vengono chiamati sull'oggetto nella seconda pagina Web.

Procedura per riprodurre il problema.

  1. Utilizzare il seguente codice di esempio per creare un oggetto COM di Microsoft Visual Basic 6.0 con AspEventProblem.Class1 per il ProgId :
    Public Function Test() As String
           Test = "Hello from COM Object"
    End Function
  2. Utilizzare Microsoft Visual Basic .NET per creare una nuova applicazione Web.
  3. Creare un Web Form denominato WebForm1.aspx .
  4. Aggiungere un oggetto Button a WebForm1.aspx contenente il seguente codice di esempio:
    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. Creare un Web Form denominato WebForm2.aspx che contiene il seguente codice di esempio:
    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. Nel browser, visualizzare WebForm1 e quindi fare clic su Button1 .
  7. Quando viene visualizzata la finestra di WebForm2, fare clic su Button1 .

ProprietÓ

Identificativo articolo: 818612 - Ultima modifica: martedý 25 ottobre 2005 - Revisione: 5.2
Le informazioni in questo articolo si applicano a:
  • Microsoft .NET Framework 1.0
Chiavi:á
kbmt kbhotfixserver kbqfe kbqfe kbnetframe100presp3fix kbfix kbbug KB818612 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 818612
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com