【问题标题】:FileIOPermission fails when there is a '~' in the path. Why?当路径中有“~”时,FileIOPermission 失败。为什么?
【发布时间】:2011-08-19 10:49:36
【问题描述】:

我在正在运行的发布脚本 (VB.Net) 中发现以下错误:

请求“System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”类型的权限失败。

失败的代码是:

My.Computer.FileSystem.WriteAllText(path, content, False)

它对大多数文件都运行良好,但有些文件的路径中有一个“~”,而那些文件都失败了。有什么想法吗?

澄清一下: 我正在使用完整路径 我遇到问题的路径示例是 "c:/websites/xml/myfile~test.xml" 那些工作的是 "c:/网站/xml/myfiletest2.xml"

【问题讨论】:

    标签: asp.net vb.net file-permissions


    【解决方案1】:

    你如何生成path?所有这些对我来说都正常工作:

    My.Computer.FileSystem.WriteAllText(Server.MapPath("~test~1.xml"), "test", False)
    My.Computer.FileSystem.WriteAllText(Server.MapPath("~test2.xml"), "test", False)
    My.Computer.FileSystem.WriteAllText(System.IO.Path.Combine(Server.MapPath("~"), "test~3.xml"), "test", False)
    

    【讨论】:

    • 第三个选项。一直工作到现在 - 托管公司正在调查它,但我认为可能有一个编码原因导致它抛出错误
    • 你能上传一个在你的主机路径中带有波浪号的文件吗?
    猜你喜欢
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    • 2011-04-20
    • 2016-05-06
    • 2019-05-09
    相关资源
    最近更新 更多