6 messaggi dal 07 gennaio 2006
Salve a tutti, sto cercando di risolvere un problema da cui non riesco ad uscire: ho realizzato un sito web in aspnet su framework 2.0 regolarmente funzionante sia in sviluppo che in produzione. A seguito ho effettuato alcune importanti modifiche a livello strutturale, tipo: modificato da sito web in web application project, aggiunto alcune cartelle contenenti i file di mapping di nhibetrnate - entity - images, ecc, ho fatto i test sulla macchina di sviluppo e fin qui tutto ok. Quando vado a pubblicare il progetto viene scatenata questa eccezione:
seguendo alcune indicazioni ho provato a modificare il trust level ma niente da fare, qualcuno può aiutarmi ?
l'applicazione gira in produzione su windows server 2003 IIS 6.0
l'ambiente di sviluppo windows xp pro con vs 2008

Errore server nell'applicazione '/'.
--------------------------------------------------------------------------------

Eccezione di protezione
Descrizione: L'applicazione ha tentato di eseguire un'operazione non consentita dai criteri di sicurezza. Per attribuire all'applicazione le autorizzazioni necessarie, contattare l'amministratore del sistema oppure modificare il livello di attendibilità dell'applicazione nel file di configurazione.

Dettagli eccezione: System.Security.SecurityException: Richiesta di autorizzazione di tipo 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' non soddisfatta.

Errore nel codice sorgente:

Durante l'esecuzione della richiesta Web corrente è stata generata un'eccezione non gestita. Per informazioni sull'origine e la posizione dell'eccezione, vedere l'analisi dello stack dell'eccezione riportata di seguito.

Analisi dello stack:


[SecurityException: Richiesta di autorizzazione di tipo 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' non soddisfatta.]
System.Reflection.Assembly._GetType(String name, Boolean throwOnError, Boolean ignoreCase) +0
System.Reflection.Assembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase) +41
System.Web.UI.Util.GetTypeFromAssemblies(ICollection assemblies, String typeName, Boolean ignoreCase) +119
System.Web.UI.TemplateParser.GetType(String typeName, Boolean ignoreCase, Boolean throwOnError) +179
System.Web.UI.TemplateParser.ProcessInheritsAttribute(String baseTypeName, String codeFileBaseTypeName, String src, Assembly assembly) +95
System.Web.UI.TemplateParser.PostProcessMainDirectiveAttributes(IDictionary parseData) +192

--------------------------------------------------------------------------------
Informazioni di versione: Versione di Microsoft .NET Framework:2.0.50727.1433; Versione di ASP.NET:2.0.50727.1433
6 messaggi dal 07 gennaio 2006
Ho provato anche a pubblicare semplicemente un sito realizzato come web application project con una sola pagina default.aspx e un solo pulsante, ma quando cerco di aprire la pagina appare lo stesso errore, premetto che con un sito web (non una web application project) tutto funziona a dovere, non so proprio come fare

grazie, marco
marverac wrote:
Salve a tutti, sto cercando di risolvere un problema da cui non riesco ad uscire: ho realizzato un sito web in aspnet su framework 2.0 regolarmente funzionante sia in sviluppo che in produzione. A seguito ho effettuato alcune importanti modifiche a livello strutturale, tipo: modificato da sito web in web application project, aggiunto alcune cartelle contenenti i file di mapping di nhibetrnate - entity - images, ecc, ho fatto i test sulla macchina di sviluppo e fin qui tutto ok. Quando vado a pubblicare il progetto viene scatenata questa eccezione:

cosa fa quest'applicazione? è in debug? è in release? hai provato a fare un trace? sei certo che il server sia configurato a dovere?

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
6 messaggi dal 07 gennaio 2006
ciao daniele, il fatto è questo:
1)l'applicazione elabora dei dati da un db mysql per trasferirli dopo la normalizzazione in un db sqlserver 2000, dopodichè in una pagina aspx posso presentare in modo parametrico (per comune) alcuni punti xy (coordinate gps) dentro una google map
2) il tutto viene eseguito in modalità debug
3) ho provato ad impostare il trace sulla prima pagina richiesta (default.aspx) ma niente, l'eccezione è l'unica cosa che salta fuori...
4) il server penso sia configurato bene (installazione di default) abbiamo anche impostato per prova le autorizzazioni sulla cartella a full per l'utente iis che esegue aspnet

la cosa strana è questa:
dopo un giorno di prove senza esito ho deciso di creare una nuova web application project che non fa niente con solo una pagina default.aspx ed un button giusto per simulare un postback, ho provato a pubblicare l'applicazione nella stessa directory dell'altra e ancora niente, viene sollevata la stessa identica eccezione
a questo punto credo proprio che il problema sia nella web application project, in quanto se eseguo il vecchio progetto (non proprio uguale ma simile) come sito web tutto miracolosamente funziona a dovere

:se può esserti utile, stò lavorando in una cartella di rete con vs 2008

grazie per la tua disponibilità

saluti, marco veracini

PS: ero al codeday 2007 a firenze, "molto interessante", pensate di organizzare altri eventi ?
marverac wrote:
se può esserti utile, stò lavorando in una cartella di rete con vs 2008

quindi i file sono presi da una directory di rete e lanciati attraverso IIS. insomma, non sono su un disco locale, giusto? questo spiegherebbe del perchè hai quel tipo di eccezione.

PS: ero al codeday 2007 a firenze, "molto interessante", pensate di organizzare altri eventi ?

probabilmente sì, al momento ne abbiamo uno in previsione per il 16 marzo a Roma:
http://www.aspitalia.com/eventi/16/community-champion-bastaitalia-2009-roma.aspx

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
6 messaggi dal 07 gennaio 2006
esttamente, la cartella che ospita l'applicazione è una cartella di rete e il server iis che risponde alle richieste http è su un altra macchina

saluti
allora è normale che funzioni così. è "colpa" della CAS (Code Access Security) che fa sì che via share di rete un certo tipo di codice non possa essere eseguito. le cose cambiano con il SP1 del .NET Framework 3.5 (o SP 2 del .NET Framework 2.0, che è lo stesso alla fine), ma non l'ho mai testato per ASP.NET, benchè credo che valga lo stesso principio.
se possibile, secondo me è preferibile evitare situazioni simili.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
6 messaggi dal 07 gennaio 2006
quindi se ho ben capito:
1)pubblicando l'applicazione nella cartella inetpub.. ecc. ecc. del server che risponde alle richieste tutto dovrebbe funzionare (il problema è che sono 2 i server che possono ripondere alle richieste)
2)oppure installare il sp2 del .net framework 2.0
3)oppure abbandonare l'idea della web application project e continuare a estendere il sito web

grazie, marco

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.