2015-04-03 12 views
7

La mia azienda ha un numero elevato di client e attualmente siamo in grado di gestire un numero limitato di client per server. Ogni client, tuttavia, utilizza la stessa applicazione Web principale. Attualmente alcuni contenuti sono archiviati localmente in ogni sito quindi non possiamo averli usando lo stesso sito/pool di applicazioni; anche se abbiamo un progetto di conversione multitenancy.Ottenere un'applicazione Web ASP.NET MVC per caricare il dominio neutro

Firmiamo con forza tutti i nostri assembly e ho pensato che sarebbe stata un'idea interessante vedere se potevamo farli caricare il dominio neutro in ASP.NET. Il vantaggio di questo sarebbe tagliare i nostri costi di memoria in modo significativo, che è attualmente uno dei nostri più alti costi/fattori limitanti. Inoltre, sembra che saremmo in grado di semplificare i processi di distribuzione che sono attualmente vincolati a IO/CPU [compilazione] e ci costano circa 6 ore abbastanza spesso.

Questa attività implica che voglio spostare gli assembly dal caricamento nel dominio dell'app del pool di App al dominio condiviso.

La mia comprensione dei requisiti per il dominio di carico neutrale sono:

  1. L'assemblea deve essere fortemente firmato e nel GAC.
  2. Le dipendenze nella chiusura vincolante devono essere nel GAC [e fortemente firmate].

Ho provato a farlo funzionare, ma non riesco a farlo funzionare per una piccola applicazione di esempio. Ho provato prima a mettere Newstonsoft.Json nel GAC e, con mio entusiasmo, è passato al dominio condiviso dopo un riciclo. Tuttavia, non riesco a tutti gli altri per capovolgere verso il dominio condiviso anche dopo GACing tutto di loro:

enter image description here

Il mio obiettivo è quello di ottenere la mia DLL principale deve essere caricato dominio neutro . Come posso eseguire il debug/andare avanti per capire perché i gruppi rimanenti non vengono caricati come neutri del dominio?

Inoltre, sono un po 'confuso su come la condivisione della codepage NGEN è correlata o è in contrasto con gli assembly caricati nel dominio condiviso.

+0

hai provato a guardare questo post http://blogs.msdn.com/b/junfeng/archive/2004/08/05/208375.aspx – KnightFox

+0

Sono curioso di sapere qual è il tuo obiettivo finale in questo esercizio? È per le prestazioni o la manutenzione o qualcos'altro? – Jonathan

+0

@ Jonathan Ho notato la maggior parte di esso nel secondo paragrafo. Siamo un'azienda in crescita e siamo cresciuti fino ad avere circa 2000 siti in esecuzione sul nostro sistema. L'ottimizzazione delle distribuzioni e dei costi di memoria è molto probabile che sia un esercizio di rendimento di alto valore. Ma a parte questi fattori ... c'è un po 'di mancanza nella mia comprensione e mi piacerebbe capire quello che non ho ancora capito. –

risposta

1

Gli interni di ASP.NET 4.5 possono essere una soluzione. Cerca il comando aspnet_intern e l'argomento interndir.

Problemi correlati