不支持路径的格式

时间:2014-08-04 13:05:12

标签: c# asp.net iis

我添加了一个新的网站和页面的onLoad事件我尝试加载Xml

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(@"‪D:\languages\Lang-Ru.xml"); //ERROR
    }
}

当我启动网站时,出现错误:

  

发生了'System.NotSupportedException'类型的异常   mscorlib.dll但未在用户代码中处理

     

附加信息:不支持给定路径的格式

堆栈跟踪:

  

вSystem.Security.Util.StringExpressionSet.CanonicalizePath(String   path,Boolean needFullPath)в   System.Security.Util.StringExpressionSet.CreateListFromExpressions(字符串[]   str,Boolean needFullPath)в   System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess   access,AccessControlActions控件,String [] pathListOrig,Boolean   checkForDuplicates,Boolean needFullPath,Boolean copyPathList)в   System.IO.Path.GetFullPath(String path)в   System.Xml.XmlResolver.ResolveUri(Uri baseUri,String relativeUri)
  System.Xml.XmlTextReaderImpl..ctor(String url,XmlNameTable nt)в   System.Xml.XmlDocument.Load(String filename)в   _Default.Page_Load(Object sender,EventArgs e):d:\ sample \ Default.aspx.cs:строка14в   System.Web.UI.Control.LoadRecursive()в   System.Web.UI.Page.ProcessRequestMain(布尔   includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)

任何人都可以帮助我吗?也许IIS中存在一些非法设置。

1 个答案:

答案 0 :(得分:0)

网站无法访问本地驱动器。他们只能访问存储HTML的区域或其下方的位置。如果可能的话,存在安全风险。

您想将xml文件添加到网站的内容区域,然后使用该位置的相对路径。

有许多方法可以绕过"上述限制 - 但没有充分的理由这样做。如果要访问XML内容,最好的方法是让IIs软件管理文件的权限和访问权限。您不太可能将自己暴露给安全漏洞。