I\'ve been using MVC frameworks for a short while now and I really like how the concerns are separated out. I\'ve got into a bad habit of letting the controllers do quite a bit
Ian Cooper has just written a blog post called The Fat Controller on just this subject.
First, there is no set of rules that's going to work in every situation. How you model you're application depends a lot on the type and complexity of the project. Having said that, here are some ideas:
Most important, do what feels right (that's usually the right answer).
This video gives great insight into how to organize your asp.net MVC solution and addressing separation of concerns, and better testability. Hopefully it will help someone else also. I learned some good stuff from it.