Permettre aux appelants de confiance partielle exception de sécurité est été lancée althought en cours d'exécution en mode Confiance totale
-
13-09-2019 - |
Question
Lors du développement en utilisant ASP.net 2.0 (C #) et NHibernate 2.1.0 Je reçois l'erreur:
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é jeté uniquement 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 le code ci-dessous sur le serveur de production pour voir le niveau de sécurité d'accès du code (CAS) et a obtenu True :
System.Security.SecurityManager.IsGranted(new AspNetHostingPermission(AspNetHostingPermissionLevel.Unrestricted))
donc je peux supposer que je suis actuellement en mode plein de confiance ..
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: Y at-il un moyen de résoudre cette exception sans avoir à modifier les AssmeblyInfo.cs de NHibernate.ByteCode.LinFu.dll ? Y at-il quelque chose qui peut être configuré dans le web.config pour permettre ce genre d'action?
Merci,
Tal.
La solution
Avez-vous essayé les étapes appelé ici?
Utilisation de NHibernate dans un environnement web moyen confiance