2010-05-16 15 views

risposta

8

GAC è una cartella:

C: \ Windows \ Microsoft.NET \ assembly

Le assemblee memorizzati nella cartella (s) in quella cartella si trovano nella GAC. Si aggiungono assembly al GAC firmandoli, quindi utilizzando gacutil per aggiungerli. Il GAC è una delle posizioni in cui un assembly gestito cercherà eventuali riferimenti esterni.

+0

La memoria di backup è una cartella, ma non si vuole scherzare a mano. Per una buona panoramica di come funziona il GAC potresti voler controllare il libro CLR tramite C# di Jeffrey Richter. –

2

Il GAC stesso si trova sul disco rigido a %systemroot%\Assembly.

Ovviamente, i file binari sono caricati in memoria in fase di esecuzione.

cache in GAC si riferisce semanticamente a un repository generale per i file binari.

+0

Meh. "Cache" significa avere un meccanismo di caricamento trasparente da nascondere (da qui il nome "cache" dal francese "cacher") caricamento costoso dei dati dal client che sta accedendo ai dati come se fosse stato staccato. Nessun riferimento ai binari. –

+2

@Konrad - "La cache in GAG ..." lo rende piuttosto ovvio riguardo a questo caso specifico, non un'affermazione sul significato generale del termine cache. –

+0

Prime definizioni nel dizionario: "nascondiglio", "tesoro", "negozio". Abbastanza appropriato per il comportamento GAC. –

0

Come già accennato, il GAC è la posizione sul disco rigido (% systemroot%/assembly). In questo contesto il termine cache si riferisce all'archiviazione delle merci, quindi questa è una posizione comune in cui gli assembly con versione fortemente denominata sono archiviati e accessibili dalle applicazioni .NET.

1

GAC viene memorizzato fisicamente sul disco rigido. È possibile visualizzare i file fisici da riga di comando utilizzando questo:

dir %WINDIR%\assembly\GAC_32 
0

Il Global Assembly Cache (GAC) si trova sul disco rigido, per impostazione predefinita C:\Windows\Assembly, e ho anche notato dopo aver verificato che si può anche avere le librerie a C:\Windows\Microsoft.NET\GAC_[XX], dove [XX] sta per 32 o 64 bit o MSIL (Microsoft Intermediate Language) assumendo che l'unità di sistema sia C :.

È possibile seguire i collegamenti indicati per ulteriori informazioni.

2

A cache è un meccanismo che migliora il tempo di risposta del caricamento dei dati senza che il client debba intraprendere ulteriori azioni: il client richiede i dati nel modo "normale" e la cache intercetta sostanzialmente tali richieste e in alcuni casi può fornire dati senza dover inoltrare la richiesta al fornitore di dati effettivo.

Questo non è in alcun modo specifico per basato su memoria. Esistono cache per vari scenari, sulla CPU per migliorare i tempi di accesso della RAM, nei browser Web per migliorare i tempi di accesso delle risorse Web e, in questo caso, come una cartella di assembly precompilati su disco per migliorare l'accesso alle DLL (che altrimenti sarebbe devono essere compilati).

0

GAC è su disco. Immaginate di tenere tutti gli assembly firmati in memoria ...

Problemi correlati