497 messaggi dal 08 febbraio 2009
Salve a tutti.

In automatico ASP carica le dll non impostate nella GAC dal direttorio "bin" all'interno del website.

E' possibile tramite file di configurazione cambiargli il path? In questo modo potrei configurare due website per puntare alle medesime dll.

Qualcuno mi sa dire se è possibile farlo e, se si, come?


Grazie mille
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,

JoeRuspante ha scritto:

E' possibile tramite file di configurazione cambiargli il path?

Sì, puoi aggiungere altri percorsi dal web.config, con l'elemento probing
http://www.aspitalia.com/script/464/Impostare-Path-Directory-Bin-ASP.NET.aspx

Tuttavia, penso che questo non ti sia d'aiuto perché puoi indicare solo sottocartelle del sito corrente. Immagino che tu voglia pubblicare gli assembly .dll in una cartella accessibile da entrambi i siti.
A questo scopo c'è la GAC, puoi installare i tuoi assembly lì dentro.

Se per un motivo o un altro non vuoi usare la GAC, potresti pur sempre copiare gli assembly in una cartella qualsiasi, e poi creare degli hard link a quella cartella in ciascuno dei due siti.

ciao

Enjoy learning and just keep making
497 messaggi dal 08 febbraio 2009
Grazie.

Come dicevi, volevo pubblicarli in una cartella comune ed evitare la GAC per avere più "semplicità" nel momento in cui devo aggiornare.

Se uso la GAC e voglio avere dei siti con la versione 1.0 e altri con la versione 1.2, bisogna che nel web.config specifichi la versione esatta.

Se quindi voglio aggiornare tutti i siti che usano la 1.0 e passarli alla 1.3 (lasciando inalterati quelli della 1.2), dovrei installare nella GAC la versione 1.3 e poi cambiare i riferimenti dei web.config


Con la cartella comune, invece, mi basterebbe "sovrascrivere" le dll e sarei a posto...


Proverò con gli hard link.

Grazie mille!
1 messaggio dal 11 luglio 2012
Ciao a Tutti!
Ho letto i vostri post....
Sarei interessato anche io alla creazione degli Hard Link ma non riesco ad aprire la pagina di spiegazioni che BrightSoul ha inserito (il link non va)....

Mi sapete dire come crearli o dove trovare indicazioni/esempi in merito!

Grazie Mille!
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao & benvenuto!
Riprova ora, a me la pagina si apre...

Comunque, apri il prompt dei comandi e digita il comando
mklink

Ti elencherà le modalità di creazione di link che in sostanza sono due: soft link (o "link simbolici") e hard link. Scegli quello che ti sembra più appropriato.
  • Quando crei un soft link (che è la modalità di default del comando mklink) viene creata una voce nel filesystem che reindirizza ad un percorso di destinazione (a file o cartella), sul filesystem stesso. Esempio, questo crea un soft link nella cartella corrente, chiamato "assembly.dll" che punta al percorso D:\files_comuni\assembly.dll
    mklink assembly.dll d:\files_comuni\assembly.dll
    
    Se inavvertitamente rimuovi o sposti il file di destinazione d:\files_comuni\assembly.dll, il tuo soft link resterà orfano ed è probabile che l'applicazione smetterà di funzionare.
     
  • Quando crei un hard link, (opzione /H di mklink) viene creata una voce nel filesystem che punta ad una posizione di memoria sul disco, la stessa del file di destinazione.
    mklink /H assembly.dll d:\files_comuni\assembly.dll
    
    In questo caso, se anche dovessi rimuovere il file di destinazione d:\files_comuni\assembly.dll, il tuo hard link continuerà a funzionare perché punta ad una zona sul disco in cui esistono ancora i dati del file, e non ad un percorso che non esiste più.


Scegli la modalità che ti sembra più opportuna. Il soft link puoi anche farlo puntare alla cartella ma immagino che tu voglia creare dei link ai soli assembly da referenziare nell'applicazione (e non a tutti quelli contenuti nella cartella).

ciao
Modificato da BrightSoul il 11 luglio 2012 22.23 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.