ASP.NET 4.0 Web窗体在IIS 6.0 Windows Server 2003上的路由

时间:2011-01-03 03:35:20

标签: routing webforms iis-6

我正在尝试在IIS 6.0上运行asp.net 4.0中的Web表单路由,但我一直在获取404页面。

protected void Application_Start(object sender, EventArgs e)
{
    System.Web.Routing.RouteTable.Routes.MapPageRoute
       ("testRoute", "test/{param}", "~/testing.aspx");
}

在我的web.config

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true">
   <remove name="UrlRoutingModule"/>
   <add name="UrlRoutingModule" 
        type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, 
              Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </modules>
  <handlers>
   <add 
     name="UrlRoutingHandler" 
     preCondition="integratedMode" 
     verb="*" path="UrlRouting.axd" 
     type="System.Web.HttpForbiddenHandler, System.Web,  
          Version=2.0.0.0, Culture=neutral,  
          PublicKeyToken=b03f5f7f11d50a3a"/>
  </handlers>
 </system.webServer>

我还尝试为网站设置通配符映射。 Path = C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_isapi.dll 取消选中“验证文件是否存在”

我可能做错什么的任何线索?

由于

1 个答案:

答案 0 :(得分:0)

我在XP(IIS6)上做同样的事情,但没有那些web.config模块和处理程序设置。我相信那些是AppFabric设置或其他东西。

在创建路线的底部,我也有:

routes.MapPageRoute("Default", "", "~/Default.aspx", false);

表示默认页面。这可能也是你需要的。

同时检查IIS中的添加/删除窗口组件以查看是否已选中路由。