Domanda

Salve a tutti. Sto cercando di risolvere un problema che apparentemente non è insolito e non sono sicuro di come sia stato risolto questo problema per la gente. Quando eseguo StructureMap sul mio computer tramite IIS ottengo un'eccezione e si presenta così:

**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.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

Questa domanda è arrivata qui su SO ( https://stackoverflow.com/questions/784666/ ), < a href = "http://codebetter.com/blogs/jeremy.miller/archive/2008/11/30/a-gentle-quickstart-for-structuremap-2-5.aspx" rel = "nofollow noreferrer"> in i commenti su questo post di blog e circa un anno fa nella mailing list della struttura .

Il mio problema non è eseguirlo in un ambiente di hosting esterno. Non riesco nemmeno a farlo funzionare sulla mia scatola (IIS 7.5, Win7 RC, .NET 3.5). Ho provato a configurare il sito per utilizzare un file di criteri personalizzato e FileIOPermission è contrassegnato per avere accesso senza restrizioni ... nessun dado. Se qualcuno ha qualche suggerimento o un collegamento sarebbe molto apprezzato.

Aggiorna Quindi non c'è modo che questo sia il modo migliore per risolvere il problema, ma dopo aver scavato e esaminato ciò che Joshua ha menzionato, queste sono le cose che dovevo fare per farlo funzionare: StructureMap, Accesso al codice Sicurezza e una cattiva soluzione a un problema . Una soluzione migliore sarebbe apprezzata.

È stato utile?

Soluzione

Questo è un bug ed è stato corretto nel trunk. Sarà incluso nelle versioni 2.6+. Alcune versioni precedenti di StructureMap tentavano di scrivere inutilmente gli assembly dinamici su disco o tentavano inutilmente di leggere dal filesystem.

Se si esegue in un ambiente limitato che non consente l'accesso a percorsi completi nel filesystem (ASP.NET), assicurarsi di impostare IgnoreDefaultFile = true quando si configura il proprio contenitore. Tieni presente che ciò disabiliterà la possibilità di caricare la configurazione XML da StructureMap.config.

Altri suggerimenti

Per quello che vale, ho riscontrato questo stesso problema in cui avevo il pieno controllo della scatola e ho persino impostato tutte le autorizzazioni sulla piena fiducia. Con IIS 7.5, ho dovuto modificare l'identità utilizzata per il pool di applicazioni specifico in NetworkService anziché in ApplicationPoolIdentity. Una volta riavviato IIS, ha funzionato.

Cordiali saluti, sto usando StructureMap v2.6.1 e ho riscontrato questo problema.

Non utilizzo una configurazione XML, quindi ho aggiunto la seguente riga al mio codice di configurazione, che ha risolto il problema.

IgnoreStructureMapConfig = true;

Utilizzando la struttura ufficiale StructureMap 2.5.4 su Windows 7 con IIS 7.5 ho ancora riscontrato questo problema. Il cambiamento di Mallioch

  ObjectFactory.Initialize(x =>
    {
      x.UseDefaultStructureMapConfigFile = false;
      x.IgnoreStructureMapConfig = true;

era necessario per risolvere l'eccezione FileIOPermission ma poi ho ricevuto Richiesta di autorizzazione del tipo 'System.Web.AspNetHostingPermission, System, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089 ' fallito. che ho risolto usando la soluzione di Mike (per la quale ho creato un visualizzazione dettagliata ).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top