Consentire ai chiamanti parzialmente attendibili eccezione di protezione è stata gettata ma decorate in esecuzione in modalità completa fiducia

StackOverflow https://stackoverflow.com/questions/1848342

Domanda

Durante lo sviluppo utilizzando ASP.net 2.0 (C #) e NHibernate 2.1.0 Sto ottenendo l'errore:

System.TypeInitializationException: The type initializer for 'NHibernate.ByteCode.LinFu.ProxyFactory' threw an exception. ---> System.Security.SecurityException: That assembly does not allow partially trusted callers.

Questo errore è stato gettato solo nel server di produzione (una società di web hosting) e nel mio ambiente di sviluppo è tutto a posto.

Inoltre ho fatto funzionare questo codice qui sotto sul server di produzione per vedere il livello Code Access Security (CAS) e ottenuto True da:

System.Security.SecurityManager.IsGranted(new AspNetHostingPermission(AspNetHostingPermissionLevel.Unrestricted))

in modo da poter assumere Sono attualmente in esecuzione in una modalità sicura completa ..

Dopo aver letto alcuni articoli su questo tipo di problema (non specificamente per NHibernate) Ho capito che ho bisogno di aggiungere

[assembly: AllowPartiallyTrustedCallers()]

al mio file AssebmlyInfo.cs.

La mia domanda è: C'è un modo per risolvere questa eccezione, senza dover modificare le NHibernate.ByteCode.LinFu.dll s 'AssmeblyInfo.cs? C'è qualcosa che può essere configurato nel web.config per permettere questo tipo di azione?

Grazie,

Tal.

È stato utile?

Soluzione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top