ASP.Net MVC: создание области для запросов json - PullRequest
2 голосов
/ 02 февраля 2010

Просто интересно, что люди думают о создании области для хранения / управления запросами на основе json (заметьте, я думаю, что в основном получают данные, а не публикуют данные). Я знаю, что вы не используете типичную область (т. Е. Обычно вы создаете другую область для блога и форума), но я подхожу к тому, что мой проект невелик, но у меня определенно много json-материала, который путает проблему и заставляет вещи выглядеть "нечистыми".

Например, в нижней части каждого контроллера я помещаю действия json, и чтобы они не смешивались с другими действиями, я добавляю им префикс json - мне не нужно было этого делать ... Также у меня есть особые модели представления для json, которые я также должен префиксировать с помощью json ... и т. Д. И т. Д.

Казалось бы, гораздо чище иметь их в своей области и иметь возможность отбрасывать префикс json вместе и определять его по области ... что вы думаете или это плохая идея?

Приветствие Энтони

Ответы [ 3 ]

1 голос
/ 02 февраля 2010

Я думаю, что это хорошая идея. Наличие асинхронной области, где все контроллеры реализуют только асинхронные действия, безусловно, очистит ваш код. Проблема возникнет, когда ваш проект станет настолько большим, что вы захотите расширить его на обычные области, и в результате вы получите некоторые соглашения об именах, которые могут оказаться немного грязными.

0 голосов
/ 02 февраля 2010

Я думаю, что не обязательно создавать отдельную область или даже отдельные действия. Если действия возвращают одинаковые данные и отличаются только типом запроса - ajax или non-ajax, вы можете просто проверить, что это за запрос, и использовать соответствующий формат данных.

public ActionResult Index()
{
    MyViewModel model = DataAccess.GetMyViewModel(); // Data access code
    if (Request.IsAjaxRequest())
    {
        return Json(model);
    }
    else
    {
        return View(model);
    }
}
0 голосов
/ 02 февраля 2010

Вы также можете просто создать отдельный контроллер для ваших действий JSON. Я думаю, что это имеет больше смысла, чем создание области. Вам нужны специфичные для json представления, контент, модель и т. Д. Или просто какие-то асинхронные действия?

...