|
WCF - MSMQ - порядок активации хендлеров
|
|||
---|---|---|---|
#18+
Привет, возникла ситуация следующего характера: 1. Имеем WFC-клиента — сендера в удаленную очередь MSMQ. Он генерит сообщения методами M1, M2, M2 в порядке 1,2,3. 2. Исходящая локальна очередь на машине этого клиента принимает и сохраняет сообщения в том же порядке — 1,2,3 3. Удаленная очередь вы пункте назначения принимает и сохраняет сообщения тоже в этом же порядке — 1,2,3 4. На машине с очередью назначения сидит WCF-сервер- ресейвер сообщений. Он, понятно, так же имеет методы M1, M2, M3. 5. Проблема — хендлеры M1, M2, M3 активизируются не в порядке выборки сообщений из очереди-назначения. Зависит от размеров сообщений, от времени нахождения в хендлере. Вопрос — это асинхронная природа WCF данного случая — типа сервер WCF выбирает и обрабатывает сообщени из очереди как ему вздумается? Я не нашел пока способа настроить последовательный порядок активации хендлеров, есть он, находил кто?? Исходя из этого, возникает вопрос другой — WCF в данном случае хорош тем, что позволяет передавать различные типы данных. Но методика активации — не позволяет гарантировать последовательность обработки — а надо. Если же построить подобие синхронности — к примеру, вместо сервера WCF прицепить обычный .NET клиент очереди с помощью MsmqQueue, то возникает проблема с десериализацией разных типов. Решение — только что-то стандартное типа XML-я, и потом вручную его парсить и анализировать на тип сообщения и дальше организовывать БЛ. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2008, 10:21 |
|
WCF - MSMQ - порядок активации хендлеров
|
|||
---|---|---|---|
#18+
Привет, возникла ситуация следующего характера: 1. Имеем WFC-клиента — сендера в удаленную очередь MSMQ. Он генерит сообщения методами M1, M2, M2 в порядке 1,2,3. 2. Исходящая локальна очередь на машине этого клиента принимает и сохраняет сообщения в том же порядке — 1,2,3 3. Удаленная очередь вы пункте назначения принимает и сохраняет сообщения тоже в этом же порядке — 1,2,3 4. На машине с очередью назначения сидит WCF-сервер- ресейвер сообщений. Он, понятно, так же имеет методы M1, M2, M3. 5. Проблема — хендлеры M1, M2, M3 активизируются не в порядке выборки сообщений из очереди-назначения. Зависит от размеров сообщений, от времени нахождения в хендлере. Вопрос — это асинхронная природа WCF данного случая — типа сервер WCF выбирает и обрабатывает сообщени из очереди как ему вздумается? Я не нашел пока способа настроить последовательный порядок активации хендлеров, есть он, находил кто?? Исходя из этого, возникает вопрос другой — WCF в данном случае хорош тем, что позволяет передавать различные типы данных. Но методика активации — не позволяет гарантировать последовательность обработки — а надо. Если же построить подобие синхронности — к примеру, вместо сервера WCF прицепить обычный .NET клиент очереди с помощью MsmqQueue, то возникает проблема с десериализацией разных типов. Решение — только что-то стандартное типа XML-я, и потом вручную его парсить и анализировать на тип сообщения и дальше организовывать БЛ. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2008, 10:21 |
|
|
start [/forum/topic.php?fid=19&fpage=35&tid=1398018]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 229ms |
total: | 347ms |
0 / 0 |