2011-01-18 3 views
1

Предположим, у меня есть wcf (mywcf), и три клиента (CL1, CL2, CL3), подключенные к моему wcf, CL1 и CL2 принадлежат к PC1 и CL3 принадлежит к PC2. теперь вопрос заключается в том, чтобы выделить клиента. (mywcf имеет более одного конечного пункта).wcf взаимодействие с клиентом

+0

Я не хочу использовать статическую переменную –

+0

doea this help: http: //stackoverflow.com/questions/93162/obtaining-client-ip-address-in-wcf-3-0? –

+0

thankx для ответа, но IP-адрес для CL1 и CL2 будет таким же, поэтому ip будет таким же, я хочу по-разному отделить всех трех клиентов по клиентскому приложению, –

ответ

0

Это невозможно, если вы не отправили идентификатор в каждом сообщении. Поэтому создайте пользовательский заголовок SOAP и MessageInspector и используйте их для передачи идентификатора вашего клиента.

+0

Я думаю, что клиент сам является идентификатором, должно быть somthing в фоновом режиме, с помощью которого wcf используется для выделения клиента. Я просто хочу захватить это something.have u когда-либо использовал .svclog, сгенерированный wcf (), который содержит полную информацию о клиентском приложении –

+0

Но такая информация не является частью общения. Это общая идентификация запущенного приложения. Если вы хотите передать эту идентификацию для обслуживания, вы должны создать для нее механизм транспорта. Сервис может из коробки отличаться от клиентов только их личностью (пользователями) или IP-адресом. Если одно и то же приложение клиента подключается с одного и того же компьютера к одной учетной записи несколько раз, служба не может отличать вызовы. –

Смежные вопросы