Как загрузить файл из папки Bin в ASP.NET в среднем доверии
-
05-10-2019 - |
Вопрос
Мне нужно загрузить файл XML из папки Bin в ASP.NET (MVC, а не то, что это будет подсчитать). Я не могу получить пункт папки Bin и не загрузить файл в противном случае .. Мне нужно кормить следующий метод:
using(var file = System.IO.File.OpenRead(/* something */))
{
}
Решение
Ну .. Под средним доверием все я мог сделать, а не у него взорвалось в моем лице было это:
var binFolderPath = Server.MapPath("bin");
тогда
Path.Combine(binFolderPath, "myConfigFile.xml");
Другие советы
По какой-то причине это появится, что по умолчанию ваш IIS не позволяет доступу к вашей папке Bin. Это, вероятно, унаследовано от родительского сайта выше вашего виртуального каталога. Несмотря на это, смотрите эту ссылку в отношении FILEIO со средним доверием:
http://msdn.microsoft.com/en-us/library/ms998341.
Скорее всего, вам нужно добавить раздел в ваш web.config, чтобы предоставить конкретный доступ к вашему AppDir, чтобы переопределить настройку из родительского сайта / виртуального каталога.
<IPermission
class="FileIOPermission"
version="1"
Read="$AppDir$"
Write="$AppDir$"
Append="$AppDir$"
PathDiscovery="$AppDir$"
/>