У меня есть папка на сервере, содержащая файлы в формате pdf (Windows Server 2008 R2 Enterprise). Мне нужно открыть папку с авторизованной учетной записью пользователя и отобразить pdf-файл в браузере. Пользователь имеет полные права доступа к папке и является членом группы «Администратор».Открыть файл PDF с C# .NET с использованием Impersonate
Код Bellow работает из моего локального файла, так как он открывает файл pdf из папки, расположенной на сервере в Adobe Reader. Но на сервере процесс не запускается (Adobe Reader не открывается), и никаких исключений не возникает. Большинство форумов говорят, что отключение UAC поможет, но я не хочу этого делать из соображений безопасности.
Как я могу решить эту проблему? Пожалуйста помоги.
try
{
WindowsIdentity wi = new WindowsIdentity(@"[email protected]");
WindowsImpersonationContext ctx = null;
try
{
ctx = wi.Impersonate();
// Thread is now impersonating you can call the backend operations here...
Process p = new Process();
p.StartInfo = new ProcessStartInfo()
{
CreateNoWindow = true,
Verb = "open",
FileName = ConfigurationManager.AppSettings["mobil"] + "\\" + prmSicilNo + "_" + prmPeriod.ToString("yyyyMM") + ".pdf",
};
p.Start();
}
catch (Exception ex)
{
msj = ex.Message;
}
finally
{
ctx.Undo();
}
return msj;
}
catch (Exception ex)
{
return msj + "Error: " + ex.Message;
}