![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Wanderer2019 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: 7 Всего: 17 |
Привет,
Подскажите - как решить следующиую задачу. Есть сервер, который может бработать максимально 100 запросов в единицу времени (скажем в сукунду). Есть риск возникновения ситуации при которой может поступить более 100 запросов. Как организовать очередь так, чтобы все запросы, пришедшие свыше 100 ждали своего выполнения и возвращали результат отправителю. Сам процесс организации очереди - не сложная задача. Сложность в том, как присвоить результат выполнения правильному контролу? Может есть какие то типичные решения для подобной задачи или библиотеки.. |
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 17 Всего: 59 |
Не понятно ваше окружение и архитектура софта. Как и что в нем делается. Как связано. Уточните.
-------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| Wanderer2019 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: 7 Всего: 17 |
Сервер на стороне клиента. Это не имеет отношения к задаче.
Ситуация такая - я посылаю n запросов, получаю n ответов. В случае если n привышает в секунду 100 остальные запросы возвращаются с ошибкой - некое xml/text с информацией об ошибке. Приложение WPF, установленное на клиенте отсылает m запросов в секунду и должно отобразить в соответствующих местах на форме. Это не очень принципиально опять же... т.е. есть что то, что отсылает m запросов. При привышении m 100 запросов в секунду сервер отсылает response с ошибкой. Используется Prism - при отсылании запроса подписываюсь на результат - Subscribe(res=>{}). Это сообщение отредактировал(а) Wanderer2019 - 12.5.2011, 14:03 |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 3 Всего: 62 |
Когда я писал подобное на Java, то считал хэш запроса и сохранял его у клиента в что-то типа sentRequests. Потом, сервер после обработки запроса, генерил Response и записывал в него хэш запроса. Когда на клиенте я получал Response, то знал какому запросу он соответствует. Было много тонкостей, как например что делать если выкидывается эксепшен в запросе на сервере. Но в принципе работало все как описал.
Может есть какие-то подобные механизмы во фреймворке? Добавлено через 2 минуты и 2 секунды Дефолтная getHashCode считается по адресу объекта в памяти, поэтому хэш уникальный. -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |