5

我需要从 ASP.NET 中的 bin 文件夹中加载一个 XML 文件(MVC,这不算数)。我无法获取 bin 文件夹路径,也无法加载文件。我需要提供以下方法:

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

}
4

2 回答 2

7

好吧..在中等信任下,我所能做的并且没有被吹到我脸上的是:

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

然后

Path.Combine(binFolderPath, "myConfigFile.xml");
于 2010-06-01T19:51:24.757 回答
4

由于某种原因,默认情况下,您的 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$"
/>
于 2010-05-28T01:34:08.973 回答