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型日) { 返す $ " これは{年}である- {月} - {日} " ; }