当我尝试查看 MaximumRequestLengthExceeded 错误页面时,我遇到了一种奇怪的行为。似乎当控制器操作与视图命名相同时,请求直接进入视图,我得到以下异常:
无法将“ProjectNamespace.Views.CommonError.MaximumRequestLengthExceeded”类型的对象转换为“System.Web.IHttpHandler”类型。
这是当 Action 和 View 都被称为“MaxRequestLengthExceeded”或“MaximumRequestLengthExceeded”的时候。
如果我将 Action 称为一个,而将视图称为另一个,则它在两种变体中都可以正常工作。
public class CommonErrorController : Controller
{
public ActionResult MaxRequestLengthExceeded()
{
return View("MaximumRequestLengthExceeded", null);
}
}
此外,我还有另一个带有索引操作和索引视图的控制器“门户”,它们都称为相同的并且它们也可以正常工作。如果我将此 MaxRequestLengthExceeded 操作移动到该控制器中,我也会再次收到错误消息。
有谁知道我可能会错过什么?