Che cos'è l'hosting CLR? Qual è il caso d'uso per questo?Che cos'è l'hosting CLR?
risposta
Vedere here per informazioni sull'hosting CLR che era rilevante per CLR v2 (.NET 2.0, 3.0 e 3.5). Per informazioni sulla nuova API CLR Hosting in .NET 4.0, see here.
Fondamentalmente, il CLR funge da libreria che può essere caricata e "ospitata" da un processo. Puoi sviluppare un'app che carichi e ospiti il CLR, se lo desideri; ciò consentirebbe alla tua app di contenere un'intera macchina virtuale CLR, caricare gli assembly ed eseguire tutto il codice gestito .NET al suo interno.
SQL Server 2008, ad esempio, può farlo. È possibile scrivere codice .NET archiviato in un database SQL Server ed eseguirlo dal motore del database di SQL Server. SQL Server ospita il CLR per ottenere ciò.
Un host CLR diverso dalla shell di Windows (la normale interfaccia utente) può fornire un contesto specifico per l'esecuzione del codice. Questo può essere utile per applicazioni specializzate o scenari molto particolari. MSDN (link sopra) ha alcune linee guida su questi argomenti.
CLR Hosting ospita il Common Language Runtime .NET in un processo a scelta.
Il caso d'uso sarebbe situazioni in cui gli ambienti esistenti non soddisfano le vostre esigenze. Alcuni degli ambienti esistenti sono ASP.NET, WinForms, Windows Workflow Foundation, ecc. Se questi non sono adatti alle tue esigenze, puoi ospitarlo tu stesso.
CLR Hosting è Hosting utilizza l'applicazione .NEt. Quando si avvia .NET Runtime all'interno di un processo nativo, quell'applicazione nativa diventa un host per il runtime. Questo ti consente di aggiungere funzionalità .NET alle tue applicazioni native.
Se il runtime è in esecuzione, ma non ha ancora caricato alcun codice utente. Alcuni programmatori di thread interni e garbage collector sono sicuramente in esecuzione, perché fanno parte del runtime CLR È molto complicato rispetto ad altri servizi di hosting.
- 1. Prevedete che il CLR adatterà presto NUMA?
- 2. Come eseguire l'applicazione CLR 2 come applicazione CLR 4
- 3. Scala sul CLR
- 4. In che modo .Net CLR implementa internamente un'interfaccia?
- 5. CLR vs JIT
- 6. .NET CLR InternalCall
- 7. Specifiche CLR .NET
- 8. Layout memoria classe CLR
- 9. Moduli, gruppi, intestazioni in CLR
- 10. XAML clr-namespace - utilizzo incompatibilità?
- 11. 'UnauthorizedAccessException' - 'Global \ .net clr networking'
- 12. Assegnazione memoria CLR SQL Server
- 13. Erlang on a JVM/CLR
- 14. Come imparare IL su CLR
- 15. Funzioni CLR del server Sql
- 16. Differenza tra dnx-clr-win-x86.1.0,0, rc1-final e dnx-clr-win-x86.1.0,0.rc1-update1
- 17. Nessuna versione CLR v4. è caricato nel processo di destinazione. - Errore CLR Profiler
- 18. CLR Le ottimizzazioni JIT violano la causalità?
- 19. Assembly CLR SQL: ottieni il Bytestream?
- 20. App Win32 Console vs CLR Console app
- 21. L'istruzione CLR .tail disabilita il GC preemptive?
- 22. Esecuzione codice nativo da JVM/CLR
- 23. JVM/CLR Opzioni lingua compatibili con origine
- 24. Accesso a COM in SQL CLR
- 25. CLR Debugger, ASP.NET - come aumentare il timeout?
- 26. Funzionalità modulare con ASP.NET vNext Core CLR
- 27. .NET vs ASP.NET vs CLR vs ASP
- 28. Concurrency Visualizer - Informazioni sul threading WPF/CLR
- 29. C#/CLR: MemoryBarrier e lacerato legge
- 30. Chiama il servizio web da SQL CLR?
+1 Grazie per la risposta. Inoltre: quando un eseguibile .NET viene fatto doppio clic e avviato, chi ospita il CLR? È ospitato da Windows Explorer? – Sabuncu
@Sabuncu: Sì. Questa è la shell di Windows che stavo citando nella mia risposta. – CesarGon
Grazie. Ho visto il tuo riferimento "shell di Windows", ma non ero sicuro. In questo caso, penso che stai usando "shell" in senso generico, non un programma di shell come il cmd.exe DOS o la console di PowerShell. – Sabuncu