HOW TO: Consente il registro IEHost debug hosting di oggetti .NET in Internet Explorer

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

In questa pagina

Sommario

In questo articolo viene descritto come attivare la registrazione di errore per IEHost.dll, l'host Common Language Run-time (CLR) gestito che viene eseguito all'interno Internet Explorer.

Microsoft .NET Framework SDK documentazione descrive come utilizzare Fuslogvw.exe per eseguire il debug i problemi che possono verificarsi quando è un modulo .NET Internet Explorer host. "Fusion", da cui questa utilità lo stesso nome, è la nuova tecnologia di installazione del programma a impatto zero Microsoft. Di conseguenza, Fuslogvw.exe segnala gli errori solo nel download dell'assembly o le relative dipendenze.

Informazioni su IEHost.dll

I moduli di .NET sono supportati in Internet Explorer utilizzando due componenti. Il primo è un filtro MIME definito in Mscoree.dll, che controlla tutti i flussi di dati in ingresso con il tipo MIME application/octet-stream quando Internet Explorer effettua una chiamata al metodo IMoniker BindToObject . Il filtro esamina il flusso di dati per i bit nell'intestazione PE (Portable eseguibile) per determinare se si tratta di un modulo gestito. Se non è attivato, il filtro semplicemente restituisce e consente di elaborare il flusso in genere di Internet Explorer.

Se il flusso è un modulo NET, il filtro carica l'assembly IEHost gestiti e chiama il relativo oggetto factory per creare un'istanza dell'oggetto richiesto. L'oggetto factory, a sua volta, chiama IEManager, di protezione manager che consente di configurare i domini di applicazione (AppDomain) per Internet Explorer e utilizza prove sull'assembly (in particolare, l'appartenenza di URL e area) per determinare le autorizzazioni con cui l'assembly deve essere caricato.

Errori di caricamento degli assembly, autorizzazioni di protezione o inizializzazione dell'oggetto non vengono registrati in Fusion il registro. Come per i controlli ActiveX, un oggetto .NET che non è inizializzato in genere non viene automaticamente, chiudere una finestra piccola, grooved in cui il controllo deve essere. Per visualizzare tali errori, è necessario attivo il Registro di debug IEHost.

Per ulteriori informazioni su MIME filtri, fare clic su articolo numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
260840ESEMPIO: MIMEfilt dimostrazione filtro MIME per Internet Explorer

Attivazione del file di registro IEHost debug

avviso : se si utilizza Editor del Registro di sistema in modo non corretto, si potrebbero provocare problemi gravi che potrebbero richiedere la reinstallazione del sistema operativo. Microsoft non garantisce la che è possibile risolvere i problemi derivanti dall'errato utilizzo dell'editor del Registro di sistema. Utilizzare Editor del Registro di sistema a proprio rischio.
  1. Fare clic su Start , scegliere Esegui , digitare regedit e quindi fare clic su OK .
  2. Individuare e fare clic sulla seguente chiave del Registro di sistema:
    HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework
  3. Aggiungere un valore DWORD denominato DebugIEHost a questa chiave, assegnarlo a qualsiasi valore diverso da zero.
  4. Aggiungere un valore stringa denominato IEHostLogFile . Assegnare il percorso completo (incluso il nome del file) del file in cui si desidera registrare la traccia di debug (ad esempio, C:\Temp\IEDebug.log).

Informazioni contenute nel file registro di debug

Il file di registro creato da IEHost contiene voci scritti da due diverse classi di .NET: Microsoft.IE.Manager e Microsoft.IE.SecureFactory . Ad esempio:
Creating security manager

Microsoft.IE.Manager: Microsoft.IE.Manager: unique id lgth = 28
Microsoft.IE.SecureFactory: Create SecureFactory() with security 
information
Microsoft.IE.Manager: Created secure factory
Microsoft.IE.SecureFactory: Creating instance of the object in the correct 
domain
Microsoft.IE.SecureFactory: pUrl = http://servername/DebugIEHost/DebugIEHost/test.htm
Microsoft.IE.SecureFactory: id = 86474707A316B616E65610000000
Microsoft.IE.SecureFactory: link = 
Microsoft.IE.SecureFactory: licenses = 
Microsoft.IE.Manager: Url = 
http://servername/DebugIEHost/DebugIEHost/test.htm
Microsoft.IE.Manager: UrlGetPartW returned 0
Microsoft.IE.Manager: CodeBase = http://servername
Microsoft.IE.Manager: Application = DebugIEHost/DebugIEHost
					
Queste informazioni identificano l'URL utilizzato per motivi di protezione, il nome dell'applicazione viene avviata, la base di codice utilizzato per il download delle dipendenze e le licenze validi per questo oggetto (tra le altre informazioni utili).

Le informazioni più utili sono una traccia di stack, viene registrata nel file registro se si verifica un errore durante la creazione dell'oggetto. Si supponga ad esempio che si è tentato di scrivere in una cartella nel costruttore di classe:
public DebugIEHost() {
    // This call is required by the Windows.Forms Form Designer.
    InitializeComponent();

    // TODO: Add any initialization after the InitForm call
    FileStream fs = File.Open(@"C:\temp.tmp",System.IO.FileMode.CreateNew);
    StreamWriter sw = new System.IO.StreamWriter(fs);
    sw.WriteLine("Hello, world");
}
				
questa operazione non riesce, ma poiché l'oggetto è non stata completamente ospitato in Internet Explorer ancora, non automaticamente. Tuttavia, un'analisi dello stack dettagliato viene scritto il file registro. In genere visualizzato due tracce dello stack: un'eccezione interna (che viene generata per il controllo) e un'eccezione di server (errore generata dal runtime in risposta all'errore del controllo). Ad esempio:
Microsoft.IE.SecureFactory: System.Reflection.TargetInvocationException:
Exception has been thrown by the target of an invocation.---->
System.Security.SecurityException: Request for the permission of 
type System.Security.Permissions.FileIOPermission, mscorlib, 
Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
failed.
   at System.Security.CodeAccessSecurityEngine.CheckHelper(PermissionSet 
grantedSet, PermissionSet deniedSet, CodeAccessPermission demand, 
PermissionToken permToken)
   ...
					
Per le eccezioni di protezione, è inoltre visualizzato dettagli sulle protezione richiesta di autorizzazione non riuscita:
The state of the failed permission was: 
<IPermission class="System.Security.Permissions.FileIOPermission, 
mscorlib, Version=1.0.3300.0, Culture=neutral, 
PublicKeyToken=b77a5c561934e089"
             version="1"
             Read="C:\temp.tmp"
             Write="C:\temp.tmp"/>
					

Riferimenti

Per ulteriori informazioni di debug con .NET Framework SDK, visitare il sito di MSDN:
Debugging with the Microsoft .NET Framework SDK

Proprietà

Identificativo articolo: 313892 - Ultima modifica: sabato 24 gennaio 2004 - Revisione: 5.1
Le informazioni in questo articolo si applicano a:
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer (Programming) 6.0
Chiavi: 
kbmt kbctrl kbmisctools kbdebug kbhowtomaster KB313892 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: 313892
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