однорангові розпізнавачі

За допомогою властивості Resolver прив'язки NetPeerTcpBinding можна задати конкретну службу однорангового распознавателя для використання.

Однорангові канали підтримують розпізнавачі двох типів: протокол PNRP і призначені для користувача служби распознавателя.

За замовчуванням для виявлення тимчасових і сусідніх вузлів в сітці використовується служба однорангового распознавателя PNRP. У ситуаціях і на платформах, де служба PNRP недоступна або не реалізовується, Windows Communication Foundation (WCF) надає альтернативну службу виявлення на базі сервера - CustomPeerResolverService. Крім того, можна явно визначити призначену для користувача службу распознавателя, написавши клас, який реалізує інтерфейс IPeerResolverContract.

Якщо служба PNRP недоступна, або якщо потрібні можливості управління структурою сітки, можна застосовувати для користувача служби распознавателя на базі сервера. Можна явно визначити цю службу шляхом написання класу распознавателя, що реалізує інтерфейс IPeerResolverContract. або за допомогою готової реалізації за замовчуванням CustomPeerResolverService.

При використанні реалізації служби за замовчуванням термін реєстрації клієнта закінчується через заданий проміжок часу, якщо клієнт явно не оновлює реєстрацію. Клієнти, що використовують службу распознавателя, повинні враховувати максимальний час затримки при взаємодії між клієнтом і сервером, щоб вчасно оновлювати реєстрацію. Для цього необхідно встановити в службі распознавателя відповідне значення часу очікування поновлення (RefreshInterval). (Докладніше див. У розділі Детальна інформація про CustomPeerResolverService: реєстрація клієнтів.)

Крім того, розробник програми повинен подумати про захист підключень між клієнтами і призначеної для користувача службою распознавателя. Для цього можна скористатися параметрами безпеки прив'язки NetTcpBinding. яку клієнти використовують для зв'язку зі службою распознавателя. Необхідно задати облікові дані (якщо вони використовуються) в об'єкті ChannelFactory. який використовується для створення однорангового каналу. Ці облікові дані передаються в об'єкт ChannelFactory. який використовується для створення каналів призначеного для користувача распознавателя.

Приклад реалізації призначеного для користувача распознавателя см. В розділі Peer Channel Custom Peer Resolver.