2009-12-04 5 views
0

Tout en développant l'utilisation ASP.net 2.0 (C#) et NHibernate 2.1.0 Je reçois l'erreur:Autoriser des appelants en partie confiance exception de sécurité est été lancée althought en cours d'exécution en mode Confiance totale

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

Cette erreur est été lancé seulement dans le serveur de production (une société d'hébergement Web) et dans mon environnement de développement tout va bien.

J'ai aussi couru ce code ci-dessous sur le serveur de production pour voir le niveau du code d'accès de sécurité (CAS) et a obtenu vrai de:

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

donc je peux supposer que je suis actuellement en pleine confiance Mode ..

Après avoir lu quelques articles sur ce genre de problème (et non spécifiquement pour NHibernate) je compris que je dois ajouter

[assembly: AllowPartiallyTrustedCallers()] 

à mon fichier AssebmlyInfo.cs.

Ma question est: Yat-il un moyen de résoudre cette exception sans avoir à modifier AssmeblyInfo.cs du NHibernate.ByteCode.LinFu.dll? Y a-t-il quelque chose qui peut être configuré dans web.config pour permettre ce genre d'action?

Merci,

Tal.

+1

Dans mes tentatives pour obtenir quelque chose en cours d'exécution sur la confiance moyenne localement avec NHibernate 2.1.1 avec Linfu je suis tombé sur la même question. J'ai basculé mon proxy à Castle et j'ai utilisé le proxy dynamique que l'on trouve dans les générateurs de proxy NHibernate et je peux exécuter la confiance moyenne localement. – Min

Répondre

Questions connexes