Я в настоящее время службы удаленного взаимодействия .NET, которые могут быть доступны разными способами:. Удаленный доступ к сети. Знаете ли вы в службе, если звонок был сделан локально или удаленно?
- на местном уровне через канал IPC
- Дистанционно через канал TCP
- Локальное через TCP канал
Мне нужно узнать в одном из моих методов обслуживания, если вызов был сделан локально или удаленно (в зависимости от лицензии я должен удаленно отправлять небольшие данные).
Я не могу найти способ найти это.
У меня уже есть пользовательский IServerChannelSink
, я думал, что я могу определить, какой тип канала используется для этого вызова, и если это TCP один, проверьте его IP, но я не могу найти его.
У вас есть вопросы по тому, как проверить, есть ли у нас локальный звонок или нет?
Спасибо за помощь
Да, но в случае локального канала IPC, как узнать, что мы имеем дело с каналом IPC? – J4N
@ J4N Если используется канал IPC, то 'CallContext.GetData (" ClientIPAddress ")' возвращает null. –
Да, правильно (на самом деле это 'requestHeaders [CommonTransportKeys.IPAddress]', который является нулевым, но я вижу, что я могу это сделать, спасибо! – J4N