建议的做法是在路由约束中进行数据查找,还是应该保持轻量级?
如果用户试图访问不存在的产品,我希望有一个触发404的路由约束 - 即:
/ EN-US /产品/ myproductcode
但我担心性能影响,即使查找很简单。
由于
答案 0 :(得分:1)
嗯,这对我来说听起来不是一个好的解决方案,即使性能无关紧要(无论如何都要连接到控制器中的数据库以获得产品)。
即使数据库中的产品代码不存在,也不表示该网址匹配您的路线。
例如,NerdDinner 1.0会像这样处理你的情况:
public ActionResult Details(int id) {
Dinner dinner = dinnerRepository.GetDinner(id);
if (dinner == null) {
//Here, you can make sure the response status code is 404
return View("NotFound");
}
return View(dinner);
}