новичок в WCF и именованных каналах.
Мне нужен способ безопасной связи между приложением пользовательского интерфейса и службой Windows на одном компьютере. Вот что мне нужно:
- Клиентское приложение должно отправлять (отправлять) сообщения различных типов в службу Windows.
- Потребности приложения клиентского интерфейса будут получать различные типы сообщений от службы (нажатие или извлечение).
(сообщение здесь представляет собой просто структурированные сериализованные данные).
Теперь весь этот обмен должен происходить только под учетной записью авторизованного пользователя (которая может отличаться от учетной записи службы). Поэтому я думал о ACLing именованного канала для службы и учетной записи пользователя.
Однако именованный канал поддерживает только потоки. У меня есть несколько типов сообщений, которые необходимо обмениваться по именованному каналу, что означает, что мне нужно определить их и сериализовать / десериализовать их.
Чтобы обойти это, я подумал об использовании WCF (для сериализации и поддержки RPC) по именованным каналам. Также разместите службу WCF в службе Windows.
Вопрос 1)
Это хороший подход? Я сомневаюсь в использовании http или tcp ниже WCF, поскольку связь должна оставаться внутри машины.
Вопрос 2)
Если и как я могу ACL именованный канал, который WCF будет использовать? Это то, что я могу контролировать?
Я чувствую, что ACL для именного канала с определенными идентификаторами безопасности обеспечивает мне большую безопасность, в отличие от реализации схемы аутентификации между клиентом и сервером.
Спасибо за любые указатели, предложения!
Самир