File.Copy() для файлового сервера с сетевыми учетными данными

Я пишу консольное приложение, которое будет копировать файл с моего локального диска на файловый сервер. Эта папка защищает имя пользователя и пароль. File.Copy() метод не работает. Это дает ошибку разрешения. Я просмотрел этот код

Я пробовал, но это не работает. Сначала это было написано в VB, но я изменил код на С#, но есть некоторые ошибки. Я не знаю, что означает эта ошибка. Возможно, вы можете посоветовать мне другой способ копирования файла на защищенный файловый сервер

с простым File.Copy(bla bla), он дает мне "у вас нет разрешения"

, когда я преобразовал код VB в С#, он дал мне ошибку ниже: Попытка прочитать или записать защищенную память

Я нашел решение

Вы можете следовать за ним

Ответы

Ответ 1

Вы можете использовать небольшой класс олицетворения Я написал несколько лет назад:

using ( new Impersonator( "myUsername", "myDomainname", "myPassword" ) )
{
   // code that executes under the new context.
   File.Copy( x, y );
}