在/Areas/Contacts/Controllers
使用非常标准的ControllerFactory
protected override IController GetControllerInstance(System.Web.Routing.RequestContext, requestContext, System.Type controllerType)
{
if (controllerType == null) return base.GetControllerInstance(requestContext, controllerType);
return (IController) ObjectFactory.GetInstance(controllerType);
}
向http://localhost:2663/PhoneCallList
传入的controllerType
是
base = {Name = "PhoneCallListController"
FullName = "MyApp.Web.Areas.Contacts.Controllers.PhoneCallListController"
而不是我期待的null。我希望会发生404,但是运行时很乐意为这个控制器提供一个实例,但是因为The view 'Index' or its master was not found...
(这是有意义的)而失败了。
相反,当向http://localhost:2663/AControllerThatDoesntExsit
发出请求时,我会传入一个null(如预期的那样)并最终得到一个404(也是预期的)。
我是否有错误的配置?或者requestContext中是否有任何内容我应该查看以确保控制器和请求信息中的区域匹配?
谢谢!
答案 0 :(得分:0)