2010-09-15 3 views
2

Мне нужно автоматически передать xml-файл с сервера A через Интернет на сервер B. Ftp работает нормально, но должен ли я использовать очередь сообщений вместо этого?Как я могу безопасно передавать файлы

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

+2

Secure против ВАЗы т? Защищать от сбоев сети, криптографически безопасных или какой-либо другой формы безопасности? – MSalters

+0

Из вашего комментария к моему ответу, кажется, вы не сказали нам все ваши требования. Какие еще существуют ограничения, кроме того, что «сервер B (клиентская машина) не разрешает каких-либо http или https-соединений»? – Piskvor

+0

@Piskvor thats it afaik. Вопрос содержит требования, ftp или очередь сообщений. – Makach

ответ

2

Вы также можете использовать очередь сообщений, но не передавать файлы, просто для хранения очереди файлов, которые должны быть переданы. Затем вы можете написать Службу, которая использует sftp, https, ssh или любой другой безопасный метод для передачи файлов. Есть много вариантов. Обычный сценарий для использования: - Запись файла в заданную папку и сообщение в очередь сообщений. - веб-служба будет опросать очередь сообщений, у которых будет сообщение с переданным именем файла. Если есть файл, используйте БЕЗОПАСНЫЙ МЕТОД CHOSEN (см. Ссылки ниже) и выполните передачу.

Ну, вы могли бы просто не использовать очереди сообщений и использовать безопасный клиент для подключения к серверу B от сервера A и сделать передачу, вот некоторые ссылки, которые могут помочь вам:

How do I upload a file to an SFTP server in C#/.NET?

http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/bee2ae55-5558-4c5d-9b5c-fe3c17e3a190

http://social.msdn.microsoft.com/Forums/en-US/netfxnetcom/thread/f5d22700-552f-4214-81f5-fa43bfcc723d

Надежда, что помогает

+0

Он сделал :) спасибо :) – Makach

0

Используйте POST через HTTPS - реализация доступна на каждой воображаемой платформе.

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

+0

К сожалению, сервер B (клиентская машина) не разрешает никаких HTTP или https-соединений. – Makach