Another Possible Solution
I must admit, I've really enjoyed being retired. It's given me an enormous amount of time to relax and tinker around.
One of the things I've been doing recently is pushing the DDD/CQRS community in helping me understand some of the more complex architectures. While I came to a much better understanding of things, as defined by their community, there were elements I just wasn't confortable with. So what did I do? I came up with my own architecture, loosely based on CQRS, but with a much more intuitive feel about it. Rather than explain the details, feel free to look at the entire sample solution and decide for yourself.
Key elements are:
1) Clear separation of read and write.
2) Command and handler mapping to keep controllers pure.
3) Event and handler mapping to implement post-event procedures.
4) No longer required to mess with nasty session management.
5) No longer dependent on the repository pattern.
Enjoy! (or not)