ASP.NET MVCのルートのいくつかの構成

1. httpContext.Request.UserAgent URLが要求に渡され、どのようにルーティングRegisterRoutesでは、追加フィルタリングする(一般的にUAが知られています):

  routes.Add( "クローム"、新ElevenRoute());

パブリック クラス ElevenRoute:RouteBaseは// クラス延びる
    {
         パブリック オーバーライドをRouteData GetRouteData(HttpContextBaseのHttpContext)
        { 
            IF(httpContext.Request.UserAgent.IndexOf(" クロム/ ")> = 0// HTTP GETのコンテキストが喜ば決意要求はフィルタにブラウザのバージョン、ユーザの要求などが来ます。
            {
                 戻り NULL ; 
            } 
            
            { 
                RouteData RouteData = 新しい新しい RouteData(この新しい新ザMvcRouteHandler())。
                routeData.Values.Add(" コントローラ"" ホーム" )。
                routeData.Values.Add(" アクション"" 拒否" );
                返すrouteDataを。
            } 
        } 
        パブリック オーバーライドVirtualPathData GetVirtualPath(RequestContextのRequestContextの、RouteValueDictionary値)
        { 
            戻り ヌル
        } 
    }

2.一般従業員へのサーバへのアクセスのために開いていませんが、実行する方法を、サーバー上のログを表示するには、サーバーにアクセスするために、固定のURL上のファイルを使用してください。

routes.Add( "セブンイレブン"、新ルート( "セブンイレブン/ 201903042135"、新ElevenRouteHandler()));

パブリック クラス ElevenRouteHandler:IRouteHandler // 扩展RouteHandler 
    {
         公共IHTTPハンドラGetHttpHandler(RequestContextのRequestContextの)
        { 
            返す 新しい)(ElevenHttpHandlerを。
        } 
    } 
    パブリック クラスElevenHttpHandler:IHTTPハンドラ
    { 
        パブリック ブール IsReusable => 

        公共 ボイドのprocessRequest(のHttpContextコンテキスト)
        { 
            context.Response.ContentType = " text / htmlの" //context.Response.Write( "これはElevenのフレームワークです"); 
            文字列のテキスト= File.ReadAllText(context.Server.MapPath(" 〜/のWeb.Config " )); 
            context.Response.Write(テキスト); 
            context.Response.End(); 
            // context.Response.Write($ "今ある{DateTime.Now.ToShortTimeString()}"); 
        } 
    }

試合ブラッド、ホームでのコントローラの先頭へ3.アドレス(デフォルトの役割があること、あなたが入力したときにhttp:// localhostを:8088 /ブラッドの時、一致またはHTTP:// localhostを:8088 / H OME)

routes.MapRoute(
                名称:" ブラッド" 
                URL:" ブラッド/ {アクション} / {ID} " 
                デフォルト:新しい新しい {コントローラー= " ホーム"、アクション= " インデックス"、ID = UrlParameter.Optional} 
            ); // 1ブラッド始まるアドレスと一致し、コントローラは、ホームを使用します。

ホーム/についてにアクセスする4.書き込み死んWYD

routes.MapRoute(
                名称:" WYD " 
                URL:" WYD " 
                デフォルト:新しい {=コントローラ" ホーム"、ACTION = " "、ID = UrlParameter.Optional} 
            )。

URLからの直接5.読むの日付パラメータ

routes.MapRoute(
               名称:" 正規表現" 
               URL:" {コントローラ} / {アクション} _ {年} _ {月} _ {日} " 
               デフォルト:新しい {コントローラー= " ホーム"、アクション= " インデックス"、 ID = UrlParameter.Optional}、
               制約:新しい {年= @ " ^ \ dの{4} "月= @" ^ \ dは{2} "デイ= @" ^ \ dは{2} " 、} 
           );
公共の 文字列フォーマット(int型の年、int型の月、int型日)
        { 
            返す $ " これは{年}である- {月} - {日} " ; 
        }

 

おすすめ

転載: www.cnblogs.com/jiangcm/p/11299375.html