Domanda

Ho bisogno di caricare un file XML dalla cartella bin in ASP.NET (MVC, non che conterebbe). Non posso ottenere il percorso della cartella bin né caricare il file altrimenti .. Ho bisogno di nutrire il seguente metodo:

using(var file = System.IO.File.OpenRead(/* something */))
{

}
È stato utile?

Soluzione

beh .. in attendibilità media tutto quello che potevo fare e non l'hanno soffiato in faccia era questo:

var binFolderPath = Server.MapPath("bin");

poi

Path.Combine(binFolderPath, "myConfigFile.xml");

Altri suggerimenti

Per qualche ragione sembra che per impostazione predefinita, IIS non consente l'accesso alla cartella bin. Questo è probabilmente ereditata dal sito padre sopra la directory virtuale. Indipendentemente da ciò, consultare questo link per quanto riguarda FileIO con attendibilità media:

http://msdn.microsoft.com/en-us/library/ms998341

È probabile che sia necessario aggiungere una sezione al vostro web.config per fornire l'accesso specifico per il vostro AppDir per sostituire l'impostazione dalla directory sito padre / virtuale.

<IPermission
  class="FileIOPermission"
  version="1"
  Read="$AppDir$"
  Write="$AppDir$"
  Append="$AppDir$"
  PathDiscovery="$AppDir$"
/>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top