|
WCF подобраться к контракту
|
|||
---|---|---|---|
#18+
Добрый день. Начал вчитываться в WCF на примере из MSDN http://msdn.microsoft.com/ru-RU/library/ms734712 Вроде все получается, дуплексный контракт тоже. Но появился один интересный вопрос: можно ли, из Shared Sub Main к примеру ( http://msdn.microsoft.com/ru-ru/library/ms730935.aspx пример в конце страницы), попасть в экземпляр класса реализующий контакт? Например: на сервере регистрируются N клиентов. Есть желание кого-то из клиентов грохнуть. Как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2011, 11:18 |
|
WCF подобраться к контракту
|
|||
---|---|---|---|
#18+
для дуплекса всегда SessionMode.Required, с помощью OperationContext.GetCallbackChannel несложно соорудить список клиентских "сессий", например, при регистрации клиента добавлять в этот список CallbackChannel и необходимую информацию о клиенте, SessionId, и проч. (ну а грохнуть - закрыть канал, например) наверное, как-то можно добраться до клиентских "сессий" штатными средствами, не сооружая своей "городухи", не знаю, не разбирался (т.к. мне нужна была именно моя "городуха") ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2011, 11:34 |
|
WCF подобраться к контракту
|
|||
---|---|---|---|
#18+
Можно, если не секрет, взглянуть на Вашу "городуху"? Может чем пригодится? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2011, 14:05 |
|
WCF подобраться к контракту
|
|||
---|---|---|---|
#18+
Арнис, сухой остаток схематично такой Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.
чтобы поддерживать актуальность списка, можно либо подписаться на OperationContext.Current.Channel.Closing/Faulted, либо периодически запускать "чистильщика дохлых сессий" ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2011, 15:41 |
|
|
start [/forum/topic.php?fid=19&msg=37161980&tid=1397493]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 227ms |
total: | 360ms |
0 / 0 |