【发布时间】:2014-01-04 01:59:00
【问题描述】:
我想阅读存储在远程服务器上的 pdf。我已获得具有读取访问权限的用户名/密码。
我正在使用此 url https://support.microsoft.com/kb/306158 中给出的 ASP.NET 模拟
我将所有内容都记录到日志文件中只是为了帮助调试。
StreamWriter sw = new StreamWriter(Server.MapPath("~/log/logFile.txt"), true);
sw.WriteLine("Just before Impersonation");
if(impersonateValidUser("username", "domain", "password"))
{
try
{
byte[] bytes = File.ReadAllBytes(documentName);
sw.WriteLine("Bytes read!!");
undoImpersonation();
}
catch(Exception ex)
{
sw.WriteLine(ex.Message + "\n" + ex.StackTrace);
return;
}
else
{
sw.WriteLine("Impersonation Failed");
return;
}
在我的日志文件中,我只看到“就在模拟之前”。 try 和 catch 块的消息都不会写入日志文件。令人惊讶的是,我没有看到模拟失败消息。
只是想知道是否有人以前有过这种行为的经验?访问远程机器上的文件是否有任何额外要求?我知道远程机器确实有 advapi32.dll 和 kernel32.dll
【问题讨论】: