我需要从 ASP.NET 中的 bin 文件夹中加载一个 XML 文件(MVC,这不算数)。我无法获取 bin 文件夹路径,也无法加载文件。我需要提供以下方法:
using(var file = System.IO.File.OpenRead(/* something */))
{
}
我需要从 ASP.NET 中的 bin 文件夹中加载一个 XML 文件(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$"
/>