Click here to Skip to main content

Design and Architecture

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page  Show 
AnswerRe: Memory management for object growing in sizememberBernhard Hiller27 Feb '13 - 23:27 
QuestionnavigationmemberNani Maneesh20 Feb '13 - 7:14 
AnswerRe: navigationmemberjschell20 Feb '13 - 8:16 
AnswerRe: navigationmvpSandeep Mewara20 Feb '13 - 17:08 
QuestionDDD and vb.netmemberalex.barylski17 Feb '13 - 7:33 
QuestionAdvice - WCF/MSMQ or Async TCPmemberGer Hayden14 Feb '13 - 9:14 
AnswerRe: Advice - WCF/MSMQ or Async TCPmemberjschell14 Feb '13 - 12:25 
Some considerations which might or might not matter.
 
I am rather certain that you can't use WCF, MSMQ and MSMQ Transactions. You can investigate yourself but I believe there is a fundamental problem in terms of receiving them. Basically they can be sent ok (with a transaction), but when receiving them there is no assurance that the transaction is preserved. (I can't remember how I came to this conclusion.)
 
MSMQ has a hard 4 meg byte limit per message. Between overhead and unicode (not optional) that can reduce the maximum message sized to less than 2 meg (bytes.) Microsoft technical docs state they have no intention of changing this limit.
 
Despite claims to the contrary WCF/MSMQ does not support a streaming operation. So the message must always be less than 2 meg.
 
MSMQ uses magic routing which is great when it works (when you get all the ports/permissions right) but is extremely difficult to figure out otherwise. And because of that messages can take a long time to arrive at the target, for example hours.
 
MSMQ at least on OSes before 2008 (and maybe that too) uses by default a single file with a 2 gig limit for persistence. MSMQ will crash if that file fills. And there is no way to monitor problems via the MSMQ API (maybe there is something in WMI.)
 
Most of the standard MSMQ 'queues' use Active Directory. If Active Directory has problems then MSMQ will have problems. If you use options to exclude Active Directory then you CANNOT insure transactions are in use. See next note.
 
If one queue uses transactions and the other end doesn't, messages just disappear.
 
MSMQ failures can result in MSMQ exceptions which have a enum which indicates the type of error. The problem however is that API can end up returning a value, via the enum api, which is not a enum. Basically violating the contract of the method.
 
MSMQ queue permissions and application permissions must match. Which would seem obvious. However if they don't match then it returns non-helpful errors. Such as telling you that the queue doesn't exist (even though it does.)
 
MSMQ is supposed to support multiple clients consuming from a single queue. However someone I know (but not me) ran a test that suggested performance was significantly degraded in such a scenario when transactions were in use. Developing around this is complicated.
 
I can state that I built message streaming using chunking to break a larger (bigger than 4 meg) into pieces. It was extremely difficult. Especially since I was attempting to support multiple clients (see above limitation)
 
MSMQ is tied to the OS. This of course means that if you want to upgrade from, say, MSMQ 3.0 to 4.0, then you must upgrade the OS.
GeneralRe: Advice - WCF/MSMQ or Async TCPmemberGer Hayden14 Feb '13 - 22:40 
AnswerRe: Advice - WCF/MSMQ or Async TCPmemberRaul Iloc24 Feb '13 - 2:01 
Questionrich text editormemberDanielos_s2330 Jan '13 - 10:03 
AnswerRe: rich text editormemberJosé Amílcar Ferreira Casimiro11 Feb '13 - 5:37 
QuestionMVVM, EF and TDD tutorialsmembercansino17 Jan '13 - 6:06 
QuestionJava and C# operating on the same data in an ASP-based monitoring web application.membervValkir17 Jan '13 - 0:18 
AnswerRe: Java and C# operating on the same data in an ASP-based monitoring web application.memberJonathan C Dickinson17 Jan '13 - 3:05 
Questionindesign cs6 trial - no toolbarmemberMember 93448236 Jan '13 - 12:10 
AnswerRe: indesign cs6 trial - no toolbarprotectorPete O'Hanlon17 Jan '13 - 0:49 
QuestionHow do you design this? : with a better examplememberVuNic30 Dec '12 - 17:57 
AnswerRe: How do you design this? : with a better examplemvpChristian Graus30 Dec '12 - 18:25 
GeneralRe: How do you design this? : with a better examplememberVuNic30 Dec '12 - 18:42 
GeneralRe: How do you design this? : with a better examplemvpChristian Graus30 Dec '12 - 18:46 
AnswerRe: How do you design this? : with a better examplememberjschell31 Dec '12 - 9:10 
AnswerRe: How do you design this? : with a better examplememberEddy Vluggen31 Dec '12 - 17:04 
AnswerRe: How do you design this? : with a better examplememberKeld Ølykke16 Jan '13 - 11:23 
QuestionHow to find the similarity between users in Twitter ? How to design a good and efficient idea?memberldaneil27 Dec '12 - 7:26 
AnswerRe: How to find the similarity between users in Twitter ? How to design a good and efficient idea?protectorPete O'Hanlon27 Dec '12 - 7:39 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   


Advertise | Privacy | Mobile
Web02 | 2.6.130516.1 | Last Updated 20 May 2013
Copyright © CodeProject, 1999-2013
All Rights Reserved. Terms of Use
Layout: fixed | fluid