В моем решении MVC3 мне интересно, как переместить логику, которая возвращает Json из контроллера, на уровень обслуживания. Скажем, у меня в контроллере есть следующее действие, чтобы получить Json, необходимый для элемента управления автозаполнением JQueryUI:
public JsonResult ClientAutocompleteJSON(string term)
{
NorthwindEntities db = new NorthwindEntities();
var customers = db.Customers
.Where(c => c.ContactName.Contains(term))
.Take(25)
.Select(c => new
{
id = c.CustomerID,
label = c.ContactName,
value = c.ContactName
});
return Json(customers, JsonRequestBehavior.AllowGet);
}
Как бы я переместить это на уровень обслуживания? Я бы предпочел не ссылаться на System.Web.MVC в моем слое обслуживания. Я также думал о возвращении клиентов, но я не уверен, как вернуть анонимный тип - нужно ли мне создавать класс?