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

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
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
importante : questo articolo contiene informazioni sulla modifica del Registro di sistema. Prima di modificare il Registro di sistema, eseguire una copia di backup e assicurarsi di sapere come ripristinarlo in caso di problemi. Per ulteriori informazioni su come eseguire il backup, ripristinare e modificare il Registro di sistema, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
256986Descrizione del Registro di sistema di Microsoft Windows

Contenuto dell'attività

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.

back to the top

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
back to the top

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).
back to the top

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 managerMicrosoft.IE.Manager: Microsoft.IE.Manager: unique id lgth = 28Microsoft.IE.SecureFactory: Create SecureFactory() with security informationMicrosoft.IE.Manager: Created secure factoryMicrosoft.IE.SecureFactory: Creating instance of the object in the correct domainMicrosoft.IE.SecureFactory: pUrl = http://servername/DebugIEHost/DebugIEHost/test.htmMicrosoft.IE.SecureFactory: id = 86474707A316B616E65610000000Microsoft.IE.SecureFactory: link = Microsoft.IE.SecureFactory: licenses = Microsoft.IE.Manager: Url = http://servername/DebugIEHost/DebugIEHost/test.htmMicrosoft.IE.Manager: UrlGetPartW returned 0Microsoft.IE.Manager: CodeBase = http://servernameMicrosoft.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"/>					
back to the top
Riferimenti
Per ulteriori informazioni di debug con .NET Framework SDK, visitare il sito di MSDN: back to the top

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 313892 - Ultima revisione: 12/07/2015 08:17:35 - Revisione: 5.1

Microsoft .NET Framework 1.1, Microsoft .NET Framework 1.0, Microsoft Internet Explorer 5.5, Microsoft Internet Explorer (Programming) 6.0

  • kbnosurvey kbarchive kbmt kbctrl kbmisctools kbdebug kbhowtomaster KB313892 KbMtit
Feedback