Logo UGIdotNET

Discussione 'Autodeployment'

# Pubblicato il 08 ago 2002 11.14 - Rispondi
Stefano Banti
Autodeployment
Buongiorno a tutti; sto tentando di utilizzare la possibilità di autodeployment del framework. Ho un'applicazione con windows forms che si collega ad un oggetto remoto sul server; il sistema di remoting viene configurato per mezzo del file di configurazione dell'applicazione. Ho messo gli assembly ed il file di configurazione nella root directory del web server, ma ottengo un'eccezione di file not found. Qualcuno sa come si può risolvere in generale il problema di far leggere ad un'applicazione deployata via http il suo file di configurazione ?

Grazie, Stefano
# Pubblicato il 27 ago 2002 17.57 - Rispondi
Giuseppe Guerrasio
Re: Autodeployment
Credo proprio che il problema derivi dal fatto che ASP.NET ha impostato nel file machine.config un HttpHandlers di tipo System.Web.HttpForbiddenHandler per tutti i file con estensione *.config . Questo serve a proteggere tutti i file web.config in modo che se qualcuno tenta di accedervi direttamente via http l'accesso venga negato.
Siccome i file di configurazione degli exe hanno estensione .config quando l'exe che stai eseguendo da un URL tenta di leggere il suo file di configurazione riceve un bellissimo errore e non riesce a scaricarlo.
Per ovviare a ciò la prima cosa che mi viene in mente è modificare il machine.config (Lo trovi in C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\CONFIG , il percorso cambia se hai w2000 è c:\WINNT\ .... , dpo framework trovi le diverse versioni del framework che dipendono da quante e quali hai installete sulla macchina).
Apri il file machine.config con notepad e devi cerca la sezione <httpHandlers> dove tra le varie voci di entry troverai :
<add verb="*" path="*.config" type="System.Web.HttpForbiddenHandler"/>
in path sostituisci *.config con web.config e poi salva il file. In questo modo l'Handler verrà applicato solo se richiedi file web.config e non a tutti i file che hanno estensione .config e quindi la tua applicazione dovrebbe riuscire a scaricare il suo file di configurazione.
Prima di modificare il file machine.config è buona norma farne una copia così nel caso che involontariamente ne cancellassi qualche parte vitale, potrai sempre tornare alla configurazione originale.
Fammi sapere se tutto ti funziona.

# Pubblicato il 29 ago 2002 17.10 - Rispondi
Stefano Banti
Re: Autodeployment
Grazie del suggerimanto; ho provato ma ottengo lo stesso errore "impossibile trovare il file". Ho provato anche a mettere il file di configurazione sulla macchiana client, nella root directory, e a riferire nel pgm "c:\WindowsApplication1.exe.config": così funziona, ma sarebbe accettabile solo per una intranet aziendale...

grazie, saluti, Stefano
# Pubblicato il 29 ago 2002 17.15 - Rispondi
Giuseppe Guerrasio
Re: Autodeployment
Mi sembra strano allora il msg di errore dipende da altro. Prova con un semplice exe da avviare via http e che legge qualche configurazione nel .config.
A me con la modifica che ti ho detto funziona, senza no.

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185