2009-02-07 12 views
27

Mi chiedo se qualcuno potrebbe darmi una mano con un problema che sto vivendo cercando di ottenere il mio sito attivo e funzionante su Goddaddy. che sto cercando di ottenere l'estensione-less riscrittura degli URL di lavoro utilizzando il ManagedFusion Rewriter (http://www.codeplex.com/urlrewriter/) Purtroppo sto ottenendo il seguente errore:System.Web.AspNetHostingPermission SecurityException quando si tenta di utilizzare ManagedFusion Rewriter su Goddaddy

Server Error in '/' Application. 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.

errore Origine:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

dello stack:

[SecurityException: Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.] 
System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0 
System.Security.CodeAccessPermission.Demand() +59 
System.Web.Hosting.HostingEnvironment.get_ApplicationID() +61 
IIS7Injector.TraceManager.TraceEvent(TraceEventType eventType, String message) +62 
IIS7Injector.ConfigManager.IsSkippedUrl(HttpRequest request, String ContentType) +38 
IIS7Injector.InjectedContentStream.Write(Byte[] buffer, Int32 offset, Int32 count) +153 
ManagedFusion.Rewriter.FormActionFilter.Write(Byte[] buffer, Int32 offset, Int32 count) +485 
System.Web.HttpWriter.FilterIntegrated(Boolean finalFiltering, IIS7WorkerRequest wr) +265 
System.Web.HttpResponse.FilterOutput() +80 
     System.Web.CallFilterExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +54 
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64 

Informazioni sulla versione: Microsoft .NET Framework Versione: 2.0.50727.1434; Versione ASP.NET: 2.0.50727.1434

Sono in esecuzione utilizzando IIS 7 in modalità integrata. Ho modificato il mio file web.config seguendo le istruzioni nel file readme qui: http://www.codeplex.com/urlrewriter/Release/ProjectReleases.aspx?ReleaseId=22618

Grazie mille in anticipo.

risposta

0

Questo è in realtà un problema noto con l'ambiente Medium Trust di GoDaddy. Tuttavia con l'ultima versione di URL Rewriter 3.0 tutti questi problemi non sono più disponibili. Si prega di ottenere l'ultima versione e fammi sapere se avete problemi.

38

Ho colpito questa stessa eccezione su una nuova installazione, cambiando l'identità del pool di applicazioni su NetworkService/aspnet risolto.

Inoltre, l'abilitazione del caricamento del profilo utente nel pool di app ha funzionato.

+1

grazie, odio iis 7.5 – vondip

+6

Le identità del pool di applicazioni sono spiegate abbastanza bene in questo articolo: http://learn.iis.net/page.aspx/624/application-piscina-identità /. Ci sono alcuni buoni motivi per cui Microsoft ha apportato le modifiche che hanno fatto. – bshacklett

+1

Il riavvio del pool di applicazioni lo ha fatto per me. Grazie! Sicuramente mi ha salvato un po 'di tempo e un forte mal di testa. – Ariel

11

provare quanto segue:

App piscina -> Impostazioni avanzate -> caricare gli utenti Profilo = True

+0

Grazie David, questo funziona per me. –

0

ho avuto un problema simile con GoDaddy. Anche se all'inizio non sembrava correlato poiché non è nella traccia dello stack (e potrebbe non essere applicabile a te dal momento che stai utilizzando il codice di terze parti), la rimozione delle chiamate Response.End() ha risolto il problema nel mio caso.

1

Una causa di questo problema è quando hai fatto la cosa del tutto strana di pubblicare voi l'applicazione sul server utilizzando il server per scaricare l'applicazione da Internet. I file verranno quindi contrassegnati come originati da Internet e le impostazioni di sicurezza impediranno loro l'esecuzione.

Il segno "scaricato da Internet" è memorizzato nel file system come flusso di dati alternativo NTFS. Utilizzare lo strumento "Streams" per visualizzare e rimuovere i flag: http://technet.microsoft.com/en-us/sysinternals/bb897440.aspx

Quindi riavviare il pool di applicazioni.

0

Ho riscontrato questo problema a causa di un disco in rete sul posto di lavoro. Quando ho spostato il mio progetto sul desktop, ha iniziato a funzionare di nuovo.