Вход на FTP с использованием учетных данных Windows

У нас есть приложение Windows на С#, которое должно иметь возможность подключаться к серверу в сети, загружать и сохранять файл в указанном месте. Мы не можем использовать веб-сервис, так как не можем предположить, что наши клиенты будут иметь IIS на своем сервере.

Способ, которым я рассматриваю возможность сделать это, - это FTP на сервер и загрузка файла. Я могу написать код для подключения к серверу и найти файл, но у меня есть 2 вопроса.

  1. Есть ли способ использовать учетные данные Windows для FTP на удаленном сервере? (Я понимаю, что я не могу напрямую получить пароль пользователя).

  2. Есть ли лучший способ получить файл с сервера, кроме ftp?

Спасибо за совет.


person Skittles    schedule 26.11.2008    source источник
comment
Этот сервер во внутренней сети или в Интернете?   -  person MusiGenesis    schedule 26.11.2008
comment
Привет, MusiGenesis, это сервер во внутренней сети.   -  person Skittles    schedule 26.11.2008
comment
Привет, если это на внутреннем сервере, почему бы просто программно не вытащить его из общего ресурса?   -  person Ta01    schedule 26.11.2008
comment
Привет, bnkdev, это звучит как вариант, который я могу рассмотреть. Мне никогда не приходилось делать это раньше программно. Любые указатели на начало работы? Спасибо.   -  person Skittles    schedule 26.11.2008
comment
Только что понял, как легко это сделать. Простой File.Copy().   -  person Skittles    schedule 27.11.2008


Ответы (2)


Я предполагаю, что сетевой ресурс не подходит (возможно, внешний сайт и т. д.).

Обратите внимание, что IIS — не единственный способ размещения веб-службы. С WCF вы можете использовать исполняемый файл консоли или службу Windows для размещения службы WCF, что позволит вам запускать WCF на сервере без упоминания IIS. См. здесь. Тогда все, что вам нужно, это прямая видимость сервера и некоторый код, который возвращает файл (или его фрагменты, или его поток).

person Marc Gravell    schedule 26.11.2008
comment
Спасибо, Марк, я думал о решении WCF, но на данный момент у меня нет опыта работы с WCF, и мы собираемся подготовить его в ближайшие пару недель. Я не был бы слишком уверен, что сделаю это в сроки. - person Skittles; 26.11.2008
comment
О, и мы все еще используем .NET 2.0, поэтому 3-3.5 не будут установлены на сервере. - person Skittles; 26.11.2008

В зависимости от размера файла (например, если он меньше 4 МБ) вы можете рассмотреть возможность использования общедоступного механизма MSMQ.

person Kelvin Meeks    schedule 26.11.2008