It's always a question what suits your better and what your style is. As for me, I prefer accessing service layer from controller action. The service will then access the repository model.
public class UserController : MyServiceController
{
public ActionResult GetUser(int id)
{
var user = Service.GetUser(id);
return View(user);
}
}
public class UserServices : MyServices
{
public User GetUser(int userId)
{
return Repository.Single(a=>a.Id == userId);
}
}