Come faccio a caricare un file dalla cartella bin in ASP.NET in attendibilità media
-
05-10-2019 - |
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 */))
{
}
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$"
/>