0

我的问题是:

我有一个 Windows 应用程序,它在当前用户的隔离存储上存储一个文件,我们称这个用户为 Adam。

在同一台机器上,我有一个 Web 服务(Web 服务的应用程序池使用 Adam 的凭据运行),它使用相同的 dll 访问隔离存储上的文件,但它试图访问默认用户配置文件中的文件,而不是真实用户的个人资料(在本例中为 Adams 个人资料)

为什么它试图在默认用户的个人资料而不是亚当的个人资料上查找文件?我怎样才能让它在正确的配置文件中查找文件?

我在 Win 2003、C# 和 .Net framework 3.5 上运行它

谢谢。

4

1 回答 1

1

因为我在不同的线程上运行代码,没有为该线程设置的凭据,所以我所要做的就是模拟主线程的身份并且有效。它应该看起来像这样

using (System.Security.Principal.WindowsIdentity.GetCurrent().Impersonate())
     {
       //Consult the isolated storage here
     }
于 2010-07-14T20:57:47.623 回答