2013-05-03 2 views
0

Я пытался сделать следующее:Карта наследие HTM файлы эквивалентного действия

public class RouteConfig 
{ 
    public static void RegisterRoutes(RouteCollection routes){ 
    { 
     //other stuff 
     routes.MapRoute(
      name: "MyRoute", 
      url: "test.htm", 
      defaults: new { controller = "Controller", action = "Test" }); 
    } 
} 

Но IIS возвращает 404, как он пытается получить статический файл example.com/test.htm.

Как я могу получить желаемый эффект?

+0

Кроме того, я попытался положить это в верхней части ' Метод RegisterRoutes. Тем не менее с тем же результатом. –

ответ

2

Решение, которое работало для меня в конце концов должен был сделать следующее:

<system.webServer> 
    <handlers> 
     <add name="htm to asp" path="*.htm" verb="*" type="System.Web.UI.PageHandlerFactory" resourceType="Unspecified" preCondition="integratedMode" /> 
    </handlers> 
</system.webServer> 
0

Это связано с тем, что маршрутизация MVC затруднена с периодами. Если вы используете .NET 4, вы можете поставить

<httpRuntime relaxedUrlToFileSystemMapping="true"/> 

в вашем файле web.config.

Вот объяснение и дополнительная информация: http://haacked.com/archive/2010/04/29/allowing-reserved-filenames-in-URLs.aspx