ASP.NET MVC控制器操作每个请求执行4次

时间:2009-04-10 13:40:23

标签: asp.net asp.net-mvc firebug

之前有没有人遇到这样的事情?基本上,我在控制器上有一个动作,它只是通过存储库模式查询数据库,将一些数据添加到ViewData然后返回视图。但出于某种原因,此操作被称为每次请求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 个答案:

答案 0 :(得分:7)

看起来这些请求可能是客户端请求,如images,css或js文件。