|
Идентификация клиента в Remoting
|
|||
---|---|---|---|
#18+
Здравствуйте. Есть задача - в теле метода remoting-объекта определить, что его (этот метод) в данный момент вызвал такой-то клиент (ну, например, получить какой-то уникальный идентификатор в пределах процесса сервера). Допустим, есть класс, унаследованный от MarshalByRef: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Как реализовать сабж? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2005, 18:21 |
|
Идентификация клиента в Remoting
|
|||
---|---|---|---|
#18+
Денис ПетровКак реализовать сабж? Так, вроде, работало: CurrentUser.getUserFullName(); Код: 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. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2005, 18:27 |
|
Идентификация клиента в Remoting
|
|||
---|---|---|---|
#18+
Хм... здесь же вроде все основано на определении полного имени пользователя? А если клиенты выполняются на той же машине, что и сервер? И под той же учетной записью? Мож я что-то не понимаю... но, кажется, в таком случае это не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2005, 18:41 |
|
Идентификация клиента в Remoting
|
|||
---|---|---|---|
#18+
Денис ПетровХм... здесь же вроде все основано на определении полного имени пользователя? А если клиенты выполняются на той же машине, что и сервер? И под той же учетной записью? Мож я что-то не понимаю... но, кажется, в таком случае это не работает. Возвращается имя пользователя домена через AD, если установлено. А так netbios имя. А что нужно? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2005, 20:20 |
|
Идентификация клиента в Remoting
|
|||
---|---|---|---|
#18+
Есть сервис, выполняющий роль remoting-сервера. К нему могут подключаться клиенты как с других машин сети, так и с той же, на которой он работает. Требуется получить возможность в некоторых методах remoting-объекта определять, какой именно из клиентов этот метод вызвал. Требуется некий уникальный в пределах этого процесса (имеется ввиду сервис) идентификатор клиента. Нужно это для реализации следующей штуки. Есть объект-синглтон: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Remoting-сервер создает этот синглтон. Очередной клиент, прежде, чем вызвать метод SomeAction, вызывает Lock. В методе Lock синглтон проверяет - если он не захвачен никем, то запоминает клиента по его идентификатору и переходит в состояние "захвачен". Если он уже в этом состоянии, то он возвращает false, и клиент не имеет права в этом случае вызывать SomeAction. Клиент, "захвативший" синглтон ранее, освобождает его с пмощью UnLock. Т. е., нечто вроде распределенной критической секции, если уместна такая аналогия. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2005, 21:52 |
|
|
start [/forum/topic.php?fid=19&fpage=38&tid=1398122]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
79ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 242ms |
total: | 418ms |
0 / 0 |