Il sito Web funziona in modalità Dev;Quando schierato su IIS provoca un'eccezione di sicurezza
-
16-09-2020 - |
Domanda
Il mio sito Web ASP.NET funziona bene in modalità Sviluppo / Debug, ma quando lo pubblichiamo, sto ottenendo il seguente errore:
.Security Exception
Descrizione: L'applicazione ha tentato di eseguire un'operazione non consentita dalla politica di sicurezza. Per garantire questa applicazione l'autorizzazione richiesta, contattare l'amministratore di sistema o modificare il livello di fiducia dell'applicazione nel file di configurazione.
Dettagli eccezioni: System.Security.SecurityException: Richiesta per il permesso di tipo 'System.Web.SagNethostingPermission, System, Version= 2.0.0.0, Cultura= Neutro, PublicKeyToken= B77A5C561934E089' fallito.
Ho googlato per questo errore, e arriva molto, e ll risposte dicono la stessa cosa: Put
<trust level="Full" originUrl=""/>
.
nel file web.config.
ya, ya, ya. Cosa è, ho controllato che questa linea sia in ogni file web.config che ho trovato - l'app stessa, oltre a file Framework \ versione \ config \ Web.config, sia 32- e 64-bit (sono in esecuzione Windows 7).
Ci deve essere un altro interruttore segreto da qualche parte - ma cosa?
Modifica
Su richiesta di un commentatore, lasciami chiarire: la pagina che fa schiantare il crash ha un controllo da Ajax Control Toolkit . Se commento i controlli ToolkitscriptManager e CalendArextender, la pagina funziona bene, anche sotto IIS.
Error Stack Trace (nel caso in cui sia aiuti):
[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
. Soluzione
Trovato il Risposta !
Altri suggerimenti
Sono venuto qui da un posto oscuro con il codice legacy e quando ho cliccato il link della risposta che ho ottenuto un 404.
Feltro un po 'come: https://imgs.xkcd.com/comics/wisdom_of_the_ancients.PNG
Comunque, la macchina posteriore per il salvataggio: