Should there be a Service Layer in Asp.net mvc?
asp.net, asp.net-mvc, domain-driven-design, nhibernate, repository-pattern
Solution
I highly recommend using a service layer so you can share common functionality between different web applications. It maybe a case that the architecture is already in existence and you may want to add a new mvc website on the front end.
For simple architectures built from scratch it maybe overkill.
Problem
Should there be a Service Layer in Asp.net MVC between Controller and Repository? As Repository is there for only Data Access. Some business logic is leaked into Controller. This might create a problem if the same operation is used by classic Asp.Net client as we have to duplicate the logic in Controller.