Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用castle windsor和mvc获取404错误页面_C#_Asp.net Mvc_Castle Windsor - Fatal编程技术网

C# 使用castle windsor和mvc获取404错误页面

C# 使用castle windsor和mvc获取404错误页面,c#,asp.net-mvc,castle-windsor,C#,Asp.net Mvc,Castle Windsor,我正在使用温莎城堡作为我的MVC网站项目的IoC。我已通过以下操作对其进行了初始化: new CastleInitialiser(new WindsorContainer().Install(FromAssembly.InDirectory(new AssemblyFilter(HttpRuntime.BinDirectory, "ProjectName*.dll")))); 然后,在我的构造函数中,我有以下内容来注册我的控制器: Container.Register(CastleClasse

我正在使用温莎城堡作为我的MVC网站项目的IoC。我已通过以下操作对其进行了初始化:

new CastleInitialiser(new WindsorContainer().Install(FromAssembly.InDirectory(new AssemblyFilter(HttpRuntime.BinDirectory, "ProjectName*.dll"))));
然后,在我的构造函数中,我有以下内容来注册我的控制器:

Container.Register(CastleClasses.FromThisAssembly().IncludeNonPublicTypes().BasedOn<Controller>().LifestylePerWebRequest());
Container.Register(CastleClass.FromThisAssembly().IncludeNonPublicTypes().BasedOn().LifestylePerWebRequest());
这一切都很好,但现在当我点击一个不存在的url时,我不会抛出404错误-我会收到以下错误消息:

IControllerFactory“ProjectName.Website.Castle.IoC.CastleController工厂”未返回名为“ASDASDASDASD”的控制器

其中,asdasdasdasd是无效url的名称


有没有办法让它抛出404异常而不是castle windsor异常?

在我的CastleController类中,我可以这样抛出404:

公共类WindsorController工厂:DefaultControllerFactory
{
受保护的重写IController GetControllerInstance(RequestContext RequestContext,类型controllerType)
{
如果(controllerType==null)
{
抛出新的HttpException(404,“未找到页面”);
}
返回(IController)容器。解析(controllerType);
}
}