我正在尝试通过.net处理* .htm文件来路由此扩展,但直到现在我都无法使用。我在google / bing上搜索了大量的结果,我找到了一些东西来制作映射并将其路由,但它无法正常工作。 请注意,我使用的是webForm,而不是mvc。
IIS中的映射集是Managed Handler:path = * .htm,Handler = System.Web.UI.SimpleHandlerFactory 这是我正在使用的代码。
我错过了什么吗?
谢谢!
//的Web.config
<system.web>
<httpModules>
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModue,System.Web.Routing,Version=4.0.0.0,Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</httpModules>
<httpHandlers>
<add verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler,System.Web, Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />
<add verb="*" path="*.htm" type="System.Web.UI.PageHandlerFactory"/>
</httpHandlers>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<remove name="UrlRoutingModule"/>
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule,System.Web.Routing,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35" />
</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>
//的global.asax.cs
void RegisterRoutes(RouteCollection routes){
routes.Ignore("{ressources}.asd/{*pathInfo}");
routes.MapPageRoute("OnlineHelp", "Help/Content/{HelpFile}.htm", "~/Default.aspx");
routes.MapPageRoute("Default", "", "~/Default.aspx",true);
}