I got directed to this site for more conceptual questions. Here is my issue:

Im designing an application that uses CQRS to expose functionality to higher levels in the stack. This looks like below (from Top to down):

WebApi (REST)

WCF Clientside

WCF Serverside

CQRS (Command and Query Services as separeted interfaces)


At the level of the WebApi I have Dtos that I get from the web client and I have Command objects to call into the CommandServices. I'd like to keep the CQRS related stuff out of the WebApi project.

I was thinking of having a service grouping the command and query part and communicating through this grouped service through WCF. The separated command and query services would then only be on the server side of WCF.

Is this a good design or can anyone recommend a more elegant approach?

1 Answer 1


My understanding of CQRS here, is it definitely feels like a disciplined implementation strategy for the middle tier more specifically (*) itself a supplier of the service tier (which calls into CQRS) - e.g., WCF, and a consumer of the domain model/data tiers (which is called from CQRS) - e.g., ADO.NET, Entity Framework, or whatnot.

So, unless I missed something, your high level layout overall looks good to me so far, wrt. bridging the gap with the WCF stack.

(*) or if only a part thereof, anyway

'Hope this helps,

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.