Отправка файлов с сервера на клиент с помощью ASP.NET - PullRequest
1 голос
/ 23 мая 2011

Я разрабатываю приложение на C # ASP.NET 4.0, которое будет находиться на Windows Server 2003. Посредством доступа к этому приложению через сетевой компьютер любой пользователь сможет загружать файлы на сервер Windows.Но также, как только эти файлы будут сохранены на сервере, он / она сможет скопировать эти файлы с сервера Windows на другой сетевой компьютер.

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

Мой вопрос таков: есть ли способ отправить или скопировать файлы с сервера на другие клиентские компьютеры (кроме того, который обращается к веб-службе) без необходимости программы, получающей эти файлы на клиентских компьютерах?Команды FTP, WCF, cmd, сокеты?

Есть идеи?

Ответы [ 4 ]

1 голос
/ 23 мая 2011

Если вы хотите, чтобы пользователи вашего веб-приложения загружали файлы, я бы посмотрел на «универсальный обработчик ashx».Это позволит вам отправлять файлы обратно клиентам через HTTP (s).

Если вы ищете удаленных пользователей, скажите своему веб-серверу копировать файлы на другие серверы в той же локальной сети как сервер, выбудет писать с использованием обычных операций System.IO.

1 голос
/ 23 мая 2011

По локальной сети, если у вас есть правильные разрешения и т. Д., Вы можете записывать на диск на другом компьютере, используя File.Copy - в этом нет ничего особенного.

Если мы говоримпро удаленные машины через интернет, это другая история.Что-то должно быть прослушано, будь то FTP, WCF, DropBox и т. Д.

Если проблема в том, что заставить что-то вроде WCF работать с клиентом может быть больно из-за таких проблем, как проблемы брандмауэра в Windows 7Вы можете выбрать другой маршрут, и клиент периодически пингует сервер в поисках нового контента.Чтобы дать серверу точку отсчета, пинг может содержать имя или дату создания самого последнего полученного файла.Сервер может ответить списком новых файлов, а затем клиент может сделать несколько вызовов WCF, один за другим, чтобы выгрузить содержимое.Этот шаблон сохраняет весь исходящий трафик клиента.

0 голосов
/ 06 июня 2011

Наконец, я решил установить FTP-сервер FileZilla на каждый клиентский компьютер, и моя страница работает очень хорошо.Но другой вариант - создать рабочую группу на сервере Windows и настроить каждый клиентский компьютер для работы в этой рабочей группе, чтобы сервер Windows имел доступ к компьютерам в той же рабочей группе.Вот несколько ссылок, которые могут помочь в создании рабочих групп:

http://helpdeskgeek.com/networking/cannot-see-other-computers-on-network-in-my-network-places/ http://www.computing.net/answers/windows-2003/server-2003-workgroup-setup-/1004.html

0 голосов
/ 23 мая 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...