2009-08-02 8 views
1

Je reçois l'exception suivante en essayant de parcourir une application ASP.NET MVC de confiance moyenne (en utilisant Linq-to-SQL) sur Cassini 3.5.0.2:Exceptions Cassini sur l'application ASP.NET MVC de confiance moyenne utilisant Linq-to-SQL

Could not load file or assembly 'Cassini, Version=3.5.0.2, Culture=neutral, PublicKeyToken=da0fefd60d522a7d' 
or one of its dependencies. Failed to grant permission to execute. (Exception from HRESULT: 0x80131418) 

à l'exception intérieure:

Execution permission cannot be acquired. 

Stack trace: 
at System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, 
    PermissionSet denyPset, PermissionSet& denied, Boolean checkExecutionPermission) 
at System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, 
    PermissionSet denyPset, PermissionSet& denied, Int32& securitySpecialFlags, Boolean checkExecutionPermission) 

La même application fonctionne sur IIS7 et sur le serveur web VS2008 interne. Cassini fonctionne sans aucun problème avec l'application ASP.NET MVC qui n'utilise pas Linq-to-SQL.

L'application ASP.NET MVC et le projet de référentiel Linq-to-SQL ont tous les deux [assembly: System.Security.AllowPartiallyTrustedCallers] pour fonctionner en mode confiance moyenne.

Quelqu'un at-il la moindre idée de ce problème?

EDIT

L'exception est levée sur cette ligne de Server.cs:

return appManager.CreateObject(appId, hostType, virtualPath, physicalPath, false); 

Répondre

4

[http://blogs.msdn.com/dmitryr/archive/2009/04/23/cassini-support-for-friendly-urls-routing.aspx#9855758]

Malheureusement, c'est un effet secondaire du seul EXE Cassini. Dans le domaine de l'application de travail, Cassini EXE est traité comme un code non approuvé. Pour le faire fonctionner en confiance moyenne, vous devez soit bricoler avec la définition de confiance moyenne (pour permettre aux assemblées signées par votre clé pour obtenir la confiance totale) ou revenir à mettre Cassini dans GAC, comme dans les versions précédentes.

Merci,

Dmitry

Questions connexes