1

System.Web.Routing.UrlRoutingModule を使用しています。

それで私は書いています:

routes.Add(new Route(@"cart/add", new RouteHandler("~/Order/CartAdd.ashx")));
routes.Add(new Route(@"cart/delete", new RouteHandler("~/Order/CartDelete.ashx")));
...

また、次の 1 つのルートもあります。

routes.Add(new Route(@"{*url}", new RouteHandler("~/Error/PageNotFound.ashx")));

しかし、/Order/CartAdd.ashx に直接アクセスすると、ルーティングに入りません。そのハンドラに直接行きます。/Order/ にアクセスすると、403.14 エラーが発生します。

代わりにルーティングでこれらの URL をキャッチするにはどうすればよいですか?

4

1 に答える 1

1

ルート登録コードでは、次のように記述できます。

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.RouteExistingFiles = true;
        routes.IgnoreRoute("default.aspx");
        [...]

ルーティング ルールを介してファイル リクエストを強制する必要があります。

于 2010-01-22T11:52:18.360 に答える