|
Кэширование данных в службе WCF
|
|||
---|---|---|---|
#18+
Здравствуйте! Есть потребность использовать службу WCF для обращения к данным с сервера. Такая ситуация: есть данные, которые часто обновляются. Есть множество пользователей, которые в одно и то же время просматривают эти данные. На сегодняшний момент организовано так, что каждый клиент посылает SQL запрос на сервер с периодичностью 10 секунд, и индивидуально получает данные. В результате множественности пользователей, сервер вынужден открывать/закрывать множество соединений для каждого, и выполнять запросы уже не раз в 10 секунд, а чаще. Есть такая задумка, чтобы создать службу, которая раз в 10 секунд запрашивает новые данные с сервера, а затем, в течении 10 секунд, хранит их у себя в памяти. Пользователи же обращаются непосредственно к службе, к её кэшированным данным. Теперь уже для сервера не важно, как часто проходят запросы пользователей. Его дело 1 раз в 10 сек. отдавать данные службе, а служба в уже сама разбирается с пользователями, хоть 100 раз в секунду они будут обращаться. Я создала по примеру из MSDN такую службу с организацией кэша на 10 секунд. Там есть один лишь метод - infoplus_val(), который призван отсылать пользователю текущее время. Я так понимаю, при правильной организации кэширования, при первом запросе пользователя он должен выдавать текущее время и сохранять их к себе в память на 10 секунд, а при втором запросе пользователя - например, он посылает запрос через 2 секунды - он должен не текущее время ему возвращать, а сохраненное в кэше. И лишь по прошествии 10 секунд он должен вернуть обновлённые данные. Но почему-то, у меня он обновляет время всякий раз, когда посылаю ему запрос, не ждет 10 секунд. Почему так? Может, я что-то неправильно сделала? Может, не понимаю какой-нибудь простой истины? Подскажите, пожалуйста.. Вот интерфейс: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Вот .svc Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Вот web-config Код: xml 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. 58. 59. 60. 61. 62. 63. 64.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2012, 09:14 |
|
Кэширование данных в службе WCF
|
|||
---|---|---|---|
#18+
Проблема не решена еще. Помощь актуальна ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 06:27 |
|
|
start [/forum/topic.php?fid=19&fpage=14&tid=1397166]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
14ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 242ms |
total: | 366ms |
0 / 0 |