【问题标题】:XML Deserialization Permissions ErrorXML 反序列化权限错误
【发布时间】:2010-10-17 11:15:21
【问题描述】:

我正在尝试使用 VS 2008 将网站发布到我计算机上的虚拟机上。该网站在VS2008中调试时运行良好,但是当我发布它时,我收到以下错误。

对路径“C:\dummy.xml”的访问是 否认。描述:一个未处理的 期间发生异常 执行当前的 Web 请求。 请查看堆栈跟踪以获取更多信息 有关错误和位置的信息 它起源于代码。

异常详情: System.UnauthorizedAccessException: 访问路径“C:\dummy.xml”是 否认。

ASP.NET 无权访问 请求的资源。考虑 授予对资源的访问权限 到 ASP.NET 请求标识。 ASP.NET 有一个基本进程标识 (通常是 IIS 5 上的 {MACHINE}\ASPNET 或 IIS 6 上的网络服务),即 如果应用程序不是,则使用 冒充。如果应用程序是 冒充身份 将是匿名用户(通常 IUSR_MACHINENAME) 或经过身份验证的 请求用户。

要授予 ASP.NET 对文件的访问权限, 在资源管理器中右键单击文件, 选择“属性”并选择 安全选项卡。点击“添加”添加 适当的用户或组。强调 ASP.NET 帐户,然后检查 所需访问权限的框。

我正在将一个 XML 文件反序列化为一个由 xsd.exe 构建的类。文件和目录具有相同的权限,我可以从 Web 浏览器访问 xml 文件。用于运行/访问网站的服务帐户(IIS 中的目录安全设置)对文件夹和 xml 文件具有完全控制权限。

我正在运行带有 IIS 6 的 Server 2003 R2。

关于如何纠正这个错误的任何想法?

【问题讨论】:

    标签: visual-studio-2008 iis-6 xml-serialization windows-server-2003


    【解决方案1】:

    设置一个 filemon (http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx) 来监控“C:\dummy.xml”。当您收到错误检查时,请检查哪个 Windows 用户正在尝试访问该文件。

    【讨论】:

    • 这就像一个魅力。事实证明,IIS 工作进程 (IIS_WPG) 试图以写访问权限打开文件,而它只有读访问权限。
    猜你喜欢
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多