Как скопировать файл из UNC-ресурса в локальную систему?

Я застрял с этим вопросом.

У меня есть общий ресурс UNC, я знаю данные учетной записи, у которой есть полный доступ, но у меня нет иметь доступ к моей локальной системе. Я могу получить доступ к удаленному UNC с помощью:

var token = default(IntPtr);
var context = default(WindowsImpersonationContext);
LogonUser(_config.Username, _config.Domain, _config.Password, 2, 0, out token);
context = WindowsIdentity.Impersonate(token);

//TODO :: System.IO operations
File.Copy("remote-unc-path","local-path",true); // Exception : Access is denied.

context.Undo();
CloseHandle(token);

Но я не могу получить доступ к своей локальной системе во время олицетворения, потому что у учетной записи нет доступа к ней.

Как скопировать файл в этой ситуации? Нужно ли мне использовать что-то вроде буфера и включать / выключать олицетворение?

6
задан Degot 28 June 2011 в 13:49
поделиться