Действие контроллера ASP.NET MVC, выполняемое 4 раза за запрос - PullRequest
2 голосов
/ 10 апреля 2009

Кто-нибудь сталкивался с чем-то подобным раньше? По сути, у меня есть действие на контроллере, который просто запрашивает базу данных через шаблон хранилища, добавляет некоторые данные в ViewData и затем возвращает View. Но по какой-то причине это действие вызывается 4 раза за запрос .

Само действие всего около 10 строк:

public ActionResult Details(int id, string slug) {
    Product p = productRepository.GetProduct(id);

    IEnumerable<Image> imgs = productRepository.GetImages(p.ProductId);
    if (imgs.Count() > 0) {
        ViewData["MainImage"] = imgs.First();
        ViewData["Images"] = imgs;
    }

    Brand brand = productRepository.GetBrand(p.ProductId);
    ViewData["Brand"] = brand;

    var categories = productRepository.GetCategories(p.ProductId, true);
    ViewData["ProductCategories"] = categories;

    return View("Details", p);
}

Кроме того, маршруты, определенные в моем Global.asax, следующие:

routes.MapRoute(
    "SlugsAfterId",
    "{controller}.mvc/{action}/{id}/{slug}",
    new { controller = "Products", action = "Browse", id = "" }
);

// The default route that comes with ASP.NET MVC
routes.MapRoute(
    "Default",                                              // Route name
    "{controller}.mvc/{action}/{id}",                           // URL with parameters
    new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
);

Может кто-нибудь пролить свет на это, пожалуйста? Я полностью в тупике.

1 Ответ

7 голосов
/ 10 апреля 2009

Похоже, что эти запросы могут быть запросами на стороне клиента, такими как файлы изображений, css или js.

...