0

我试图做以下事情:

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 在尝试检索example.com/test.htm.

我怎样才能得到想要的效果?

4

2 回答 2

2

最终对我有用的解决方案是执行以下操作:

<system.webServer>
    <handlers>
        <add name="htm to asp" path="*.htm" verb="*" type="System.Web.UI.PageHandlerFactory" resourceType="Unspecified" preCondition="integratedMode" />
    </handlers>
</system.webServer>
于 2013-05-07T12:06:25.027 回答
0

这是因为 MVC 路由很难处理句点。如果您使用的是 .NET 4,您可以将

<httpRuntime relaxedUrlToFileSystemMapping="true"/>

在您的 web.config 文件中。

这是一个解释和更多信息:http ://haacked.com/archive/2010/04/29/allowing-reserved-filenames-in-URLs.aspx

于 2013-05-03T15:29:28.953 回答