描述问题:项目:MVC2 .NET FrameWork4.0 部署到 IIS版本:6.0 服务器:2003 上面,出现问题:只能访问IIS上设置好的默认内容文档,即只能访问登陆页面,但是其他页面都访问不了,浏览器提示:无法找到该页。在网上找了很多在IIS6.0上部署MVC2.0的帖子 ,也尝试了很多方法,但是总是访问不了其他的页面(控制器和Action)
做过的努力:
①:讲项目路由表为: public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute(
"Default", // 路由名称
"{controller}.aspx/{action}/{id}", // 带有参数的 URL
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
); } protected void Application_Start()
{
AreaRegistration.RegisterAllAreas(); RegisterRoutes(RouteTable.Routes);
}
}
②:应该程序配置==》映射==》应用程序扩展名:.aspx对应的可执行文件设置为:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30128\aspnet_isapi.dll 全部动作 取消了 确认文件是否存在选项③:通配符:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30128\aspnet_isapi.dll 取消了 确认文件是否存在选项④:把System.Web.Mvc.dll,System.Web.Mvc.xml,System.Web.Routing.dll,System.Data.Linq.dll都复制到了 网站的bin目录下。
做过的努力:
①:讲项目路由表为: public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute(
"Default", // 路由名称
"{controller}.aspx/{action}/{id}", // 带有参数的 URL
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
); } protected void Application_Start()
{
AreaRegistration.RegisterAllAreas(); RegisterRoutes(RouteTable.Routes);
}
}
②:应该程序配置==》映射==》应用程序扩展名:.aspx对应的可执行文件设置为:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30128\aspnet_isapi.dll 全部动作 取消了 确认文件是否存在选项③:通配符:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30128\aspnet_isapi.dll 取消了 确认文件是否存在选项④:把System.Web.Mvc.dll,System.Web.Mvc.xml,System.Web.Routing.dll,System.Data.Linq.dll都复制到了 网站的bin目录下。
"Default", // 路由名称
"{controller}/{action}/{id}", // 带有参数的 URL
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
);