|
WCF. Пользователь отключился.
|
|||
---|---|---|---|
#18+
Последний раз сервисами плотно занимался, когда они еще были ASMX. Так что спрашиваю best practice. Юзер сервиса первым делом должен залогиниться (это делает сервис по предоставленному логин-пароль) Сервис выдает юзеру sessionID типа Guid, и вся доступная пачка методов в сервисе принимает этот гуид параметром. Соответственно сервис хранит в себе List<T> активных пользователей с их гуидами. Вот дальше собственно вопрос. А как сервис проверит не отвалился ли юзер, или не пора ли его кикнуть за idle, а то он уже 30 минут молчит ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2014, 19:19 |
|
WCF. Пользователь отключился.
|
|||
---|---|---|---|
#18+
Или подход вообще не такой ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2014, 19:32 |
|
WCF. Пользователь отключился.
|
|||
---|---|---|---|
#18+
Сделать так конечно можно, но сервис нужно вешать тогда как сингл и все может рухнуть при внештатном перезапуске пулла или еще чего. Надежнее всего в базе, сделать в таблице с юзерами столбцы AccessKey(guid) и LastOparation(datetime). Юзер зарегился, дали ему новый AccessKey, чето делает - обновляем LastOparation. Небыло например его два часа, снова пытается чето сделать - выбразываем его... У меня как-то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2014, 19:55 |
|
|
start [/forum/topic.php?fid=19&fpage=8&tid=1396938]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
others: | 255ms |
total: | 365ms |
0 / 0 |