【问题标题】:Access denied when trying to view path of xml file尝试查看 xml 文件的路径时访问被拒绝
【发布时间】:2013-11-30 00:48:44
【问题描述】:

我正在尝试获取我在 lightswitch 应用程序中创建的 xml 文件的路径。但是我收到 System.Security.SecurityException 错误,提示访问被拒绝。

var fileNme = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
    "Sample.xml");
Debug.WriteLine("app data path " + fileNme.ToString());

我在我的计算机上本地运行应用程序并最终部署到 iis。希望有人可以在这里帮助我。
谢谢。

【问题讨论】:

  • 文件 Sample.xml 必须添加到应用程序文件夹(App_Data 或自定义文件夹等)下。
  • 您用 asp.net 标记了帖子:您确定运行 IIS 的帐户允许访问指定文件夹吗?我觉得不是……
  • 可能是您的文件是只读的,或者您的用户没有读取此文件的权限。
  • @AVD 该文件已在我的 app_data 文件夹中。
  • @Marco 我在本地运行应用程序。当我在我的个人计算机上运行应用程序时,就会发生这种情况。我还没有达到 IIS 和服务器级别。

标签: c# asp.net xml visual-studio-lightswitch


【解决方案1】:

我不是 LightSwitch 方面的专家,但你可以试试这个:

Assembly asm = Assembly.GetAssembly(typeof(<<assemblyNamespace>>.<<name_of_page_class>>));
string asmPath = asm.CodeBase;

string app_DataFolder = Path.GetFullPath(Path.GetDirectoryName(asmPath.Remove(0, "file:\\\\\\".Length)) + "\\..\\App_Data");

string filePath = Path.Combine(app_DataFolder, "Sample.xml");

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 2011-11-29
    • 2015-03-19
    • 2015-03-06
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多