C#共享文件夹访问权限给出了登录失败异常

时间:2012-12-11 07:22:34

标签: c#

我有以下代码正常工作。

public Foo GetConfiguration(string file)
{
    lock (_lockObj)
    {
        Foo foo = new Foo ();
        try
        {
            XmlSerializer serializer = new XmlSerializer(typeof (Foo));
            using (Stream reader = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
            {
                foo = (Foo) serializer.Deserialize(reader);
            }
        }
        catch (Exception ex)
        {
            Log.Error(string.Format("Failed to read foo '{0}'. Error: '{1}'", file, ex));
        }
        return foo;
    }
}

}

当函数输入file值是unc共享文件夹时,我得到以下异常:

System.IO.IOException: Logon failure: unknown user name or bad password.

我怎样才能克服它?

如何将凭据传递给FileStream?

由于

修改 1.此程序托管在本地系统帐户下的Windows服务

  1. 服务在Win2008上

  2. 在服务器上,我将凭证添加到Credential Manager(存储凭据以进行自动登录)

  3. 将凭据放入凭证管理器后,我可以通过UNC到达目标路径(位于不同的服务器上),但仍无法通过C#

  4. 工作

1 个答案:

答案 0 :(得分:0)

很可能你和ASP.Net应用程序没有在有权访问共享的帐户下运行。

要诊断 - 调试代码并查看System.Environment.UserNameSystem.Environment.UserDomainName的值。

相关问题