Я разрабатываю решение, которое будет использовать WCF, чтобы все компьютеры в моей организации периодически «звонили домой». Предположим для обсуждения, что к каждому компьютеру в моей организации подключен датчик погоды. Цель этого приложения состоит в том, чтобы каждый компьютер связывался с центральным сервером, чтобы сообщить о погоде в его местоположении. Данные для передачи кодируются в виде строки.
Предположим, что у меня есть служба Windows, которая вызывает метод SendWeatherReport
один раз в день. Сигнатура этой функции:
void SendWeatherReport(string report);
Предположим, что я настроил метод WCF со следующим интерфейсом:
[ServiceContract]
public interface IWeatherReportReceiver
{
[OperationContract]
void GetReport(string report);
}
У меня есть следующие требования:
1) Моя информация о погоде является частной и конфиденциальной; он должен быть зашифрован в целях безопасности.
2) Информация о погоде будет передаваться через Интернет. Компьютер, на котором запущена служба WCF для получения отчета, будет example.com
.
3) Отчет о погоде должен пройти через некоторые чрезмерно настроенные брандмауэры на пути к серверу.
Теперь, когда я объяснил свои требования, пожалуйста, объясните мне, как я могу настроить конфигурацию конечной точки для удовлетворения этих требований.
Чтобы удовлетворить (1), я считаю, что мне нужно будет использовать привязку net tcp. Для (3), возможно, я могу настроить эту привязку для работы через порт 80, 443 или какой-либо другой часто используемый порт. Моя главная проблема в том, что я не знаю, как настроить программное обеспечение для идентификации себя на сервере WCF ...