C# Pro ASP.net MVC框架示例代码不起作用
这是史蒂文·桑德森的一本好书 我试着按照第4章的内容,在我的mvc代码上设置IOC,这是本书的代码示例,但它不起作用 我按照代码从第97页到第101页,在那里我设置了控制反转并运行代码,但是我得到了以下错误 尝试搜索以下文件时会打开一个对话框: c:\TeamCity\buildAgent\work\1ab5e0b25b145b19\src\Castle.Windsor\Windsor\WindsorContainer.cs 以下代码行中的controllertype似乎为空:C# Pro ASP.net MVC框架示例代码不起作用,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,这是史蒂文·桑德森的一本好书 我试着按照第4章的内容,在我的mvc代码上设置IOC,这是本书的代码示例,但它不起作用 我按照代码从第97页到第101页,在那里我设置了控制反转并运行代码,但是我得到了以下错误 尝试搜索以下文件时会打开一个对话框: c:\TeamCity\buildAgent\work\1ab5e0b25b145b19\src\Castle.Windsor\Windsor\WindsorContainer.cs 以下代码行中的controllertype似乎为空: protecte
protected override IController GetControllerInstance(
System.Web.Routing.RequestContext requestContext,
Type controllerType)
{
return (IController)container.Resolve(controllerType);
}
异常发生在上面的返回语句中,该语句表示“{”值不能为null。\r\n参数名称:服务“}”
这恰好是在温莎康纳工厂
路线如下:
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Products", action = "List", id = ""} // Parameter defaults
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory());
}
}
请帮忙
谢谢..您可以尝试调试路由
您可以尝试调试路由
您的方法可能正在为应用程序未提供服务的请求调用。例如favicon.ico 确保controllerType不为null。如果是,则返回null并绕过您添加的代码
不同类型的浏览器会根据缓存方式对站点发出不同的“额外”请求。此外,如果您使用IIS vs Visual Studio Dev Server托管站点,则这些服务器可能会在请求到达您的服务器之前捕获该请求(例如,IIS将服务器一个.jpg文件,而不必释放到您的控制器,但vs Dev Server可能不会)您的应用程序可能会为未提供服务的请求调用您的方法。例如favicon.ico 确保controllerType不为null。如果是,则返回null并绕过您添加的代码
不同类型的浏览器会根据缓存方式对站点发出不同的“额外”请求。此外,如果您使用IIS vs Visual Studio Dev Server托管站点,则这些服务器可能会在请求到达您的服务器之前捕获该请求(例如,IIS将服务器一个.jpg文件,而不必释放到您的控制器,但vs Dev Server可能不会)到目前为止,我发现以下链接解决了相同的问题。我在这里复制它们供我自己参考
到目前为止,我发现以下链接解决了同样的问题。我在这里复制它们供我自己参考
首先,我认为让相对链接比绝对链接更好
第二,检查你的浏览器。我没有看到你的代码有错误。也许不同的浏览器会让事情变得更糟。此外,如果您使用IIS vs Visual Studio Dev Server托管站点,则这些服务器可能会捕获请求:首先,我认为让相对链接比绝对链接更好
第二,检查你的浏览器。我没有看到你的代码有错误。也许不同的浏览器会让事情变得更糟。此外,如果您使用IIS vs Visual Studio Dev Server托管站点,则这些服务器可能会捕获请求:D听起来路由引擎没有为请求的资源找到控制器。url是什么?路由看起来是什么样子?刚刚添加了路由信息,请求的url是什么?我建议fiddler来确定这一点。请求的url可能不是您所期望的,或者您可能不知道从浏览器请求的内容,例如浏览器自动请求的favicon图标。听起来路由引擎没有为请求的资源找到控制器。url是什么?路由看起来是什么样子?刚刚添加了路由信息,请求的url是什么?我建议fiddler来确定这一点。请求的url可能不是您所期望的,或者您可能不知道从浏览器请求的内容,例如浏览器自动请求的favicon图标。