2010-07-15 29 views
2

Mon site Web ASP.NET fonctionne très bien dans le développement/mode de débogage, mais quand je publierai, j'obtiens l'erreur suivante:Le site Web fonctionne en mode dev; lorsqu'il est déployé sur IIS provoque l'exception de la sécurité

Security Exception

Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.

Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

J'ai googlé pour cette erreur, et il vient en abondance, et toutes les réponses disent la même chose: mettre

<trust level="Full" originUrl=""/> 

dans le fichier web.config.

Ya, ya, tu. La chose est, j'ai vérifié que cette ligne est dans chaque fichier web.config je pourrais trouver - l'application elle-même, plus les fichiers framework \ version \ config \ web.config, à la fois 32 et 64 bits (Je cours Windows 7).

Il doit y avoir un autre commutateur secret quelque part - mais quoi?

EDIT

À la demande d'un intervenant, permettez-moi de préciser: la page qui provoque le crash a un contrôle de la AJAX Control Toolkit. Si je commente les contrôles ToolkitScriptManager et CalendarExtender, la page fonctionne correctement, même sous IIS.

Erreur trace de la pile (dans le cas où il aide):

[SecurityException: Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.] 
System.Reflection.Assembly._GetType(String name, Boolean throwOnError, Boolean ignoreCase) +0 
System.Web.UI.NamespaceTagNameToTypeMapper.GetControlType(String tagName, IDictionary attribs, Boolean throwOnError) +209 
System.Web.UI.TagPrefixTagNameToTypeMapper.System.Web.UI.ITagNameToTypeMapper.GetControlType(String tagName, IDictionary attribs) +210 
System.Web.UI.MainTagNameToTypeMapper.GetControlType2(String tagName, IDictionary attribs, Boolean fAllowHtmlTags) +242 
System.Web.UI.MainTagNameToTypeMapper.GetControlType(String tagName, IDictionary attribs, Boolean fAllowHtmlTags) +17 
System.Web.UI.RootBuilder.GetChildControlType(String tagName, IDictionary attribs) +22 
System.Web.UI.ControlBuilder.CreateChildBuilder(String filter, String tagName, IDictionary attribs, TemplateParser parser, ControlBuilder parentBuilder, String id, Int32 line, VirtualPath virtualPath, Type& childType, Boolean defaultProperty) +119 
System.Web.UI.TemplateParser.ProcessBeginTag(Match match, String inputText) +605 
System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding) +1334 
+0

ASP.net est-il installé/activé dans votre installation IIS? – Paddy

+0

quelle opération essayez-vous d'effectuer? Est-ce sur le chargement initial de la page ou à un autre point de votre application. Quel code avez-vous dans application_start? –

+0

@Paddy - Je ne savais pas qu'il était possible de désactiver ASP.net sur IIS. Où puis-je trouver ce paramètre (Windows 7)? –

Répondre