2008-10-15 2 views
0

Допустим, что у меня есть сайт, где когда пользователь выбирает несколько вариантов, следующие (должны) произойти:Как перенести файлы с одного компьютера на другой с помощью ASP.NET?

  • Хватает файлов (в каталоге) выключения локального компьютера - отлично работает до сих пор
  • перемещает их на удаленный сервер - это где мне нужна помощь

Детали:

  • удаленный сервер будет найден через путь UNC (\ имя_сервера \ хуг)
  • У меня есть доступ к имени пользователя/паролю для доступа к этому UNC-пути, но поскольку мы находимся в другом домене, и я не контролирую решения ИТ, у меня нет единого пользователя, у которого есть разрешения в обоих доменах.

Как мне настроить сайт, чтобы сделать это? Если я выдаю себя за себя, я могу потерять разрешения на захват файлов на локальной машине ...

Примечание: У меня также есть FTP-доступ к удаленному серверу. Если есть хороший FTP API, который я мог бы использовать, это тоже сработало бы, но я не хочу, чтобы итерации по каждому файлу.

О, это тоже .NET 1.1.


Это предложение на связанный с этим вопрос: Need to Impersonate user forAccessing Network resource, Asp.Net Account

ответ

2

Я сделал это междоменное раньше. Все, что вам нужно, это то, что имя пользователя и пароль будут одинаковыми, и это будет работать, даже если они находятся в разных доменах. Необходимо убедиться в том, что ваше приложение .NET работает как этот пользователь.

Например:

  • В области XYZ есть пользователь «filesynch» с паролем «передать»
  • В домене PDQ есть пользователь «filesynch» с паролем «передать»
  • Марка уверенный пользователь PDQ \ filesynch имеет доступ для обмена на машине в домене PDQ
  • Запуск приложения на компьютере в домене XYZ как filesynch пользователя XYZ \
  • Копирование файлов по сети
1

Это может быть сделано либо с помощью unc, либо с ftp. Для более раннего (unc) вы можете использовать File.Copy (source, target) - для последнего вы можете использовать несколько методов. Если вы храните то, что пользователь хотел от машины на удаленном сайте, вы можете использовать веб-клиент (System.Net.WebClient) для загрузки файлов через любой доступный URL-адрес (то есть: включить просмотр файлов в IIS).

Если вы можете использовать .NET 2.0, у вас есть лучшие варианты с более надежными объектами (например, FtpRequest) - есть ли резон, почему вы не можете использовать .NET 2.0?

Смежные вопросы