Я создал службу Windows, которая использует WCF для связи к нему. Сервис должен использоваться быть названным только от той же машины. Если я могу гарантировать, что нет никакого способа общаться с ним от другой машины, я могу полагать, что это защитило.
Так как я использую связь на единственной машине, я выбрал к используемому NetNamedPipeBinding. В этой документации привязки говорится, что она Оптимизирована для связи на машине, но не дает гарантий.
Мои вопросы, NetNamedPipeBinding обеспечивает гарантии on-machine-only? Если не, что привязка делает, или как Вы пошли бы, реализовав пользовательскую привязку, который действительно обеспечивает такие гарантии?
Спасибо,
Asaf
Корпорация Майкрософт опубликовала следующее на Выбор транспорта на MSDN:
Когда использовать транспорт именованного канала
Именованный канал является объектом в ядре операционной системы Windows, например, раздел общей памяти, который процессы могут использовать для связи. Именованный канал имеет имя и может использоваться для односторонней или дуплексной связи между процессами на одном компьютере.
Если требуется обмен данными между различными приложениями WCF на одном компьютере и требуется предотвратить обмен данными с другого компьютера, используйте транспорт именованных каналов. Дополнительным ограничением является то, что процессы, запущенные с удаленного рабочего стола Windows, могут быть ограничены тем же сеансом удаленного рабочего стола Windows, если они не имеют повышенных привилегий.
Это в значительной степени дает желаемую гарантию.
NetNamedPipeBinding
подходит только для локальной машины. См. Таблицу в сообщении здесь , чтобы получить хороший методический способ определить, какой тип привязки использовать.
Вот внешняя ссылка , которая дает более точный ответ, чем просто «возьми-мое-слово-за-это».