* 1:NetCoreコンテキスト、グローバル静的パッケージ自体HttpContextHelper
* 2:設定ファイルは、JSONを読みます
{ // IConfigurationが設定注入を有する、2つのアクセスノード、結腸.GetSection( "のAppSettings:" +名) Configuration.GetSection("" ).Valueの; }
* 3:読書セッション
// 最初のダウンロードセッションの拡張はMicrosoft.aspnetcore.http.extensionsパッケージnuget services.AddSessionを(); // 書き込みConfigureServicesをして、 app.UseSession(); // 書き込み設定 HttpContextHelper.Current.Session.GetString(" pwdqrcodekey ");
* 4:一般的なフィッタコントローラから継承:属性、IActionFilter
/ **************** /
パブリック クラスLoginFltAttribute:属性、IActionFilter { /// <要約> /// 执行后 /// </要約> /// <PARAM NAME = "コンテキスト"> </ PARAM> 公共 ボイドOnActionExecuted(ActionExecutedContextコンテキスト) {} /// <要約> /// 执行前 /// </要約> /// <PARAM NAME = "コンテキスト"> </ PARAM> 公共 ボイドOnActionExecuting(ActionExecutingContextコンテキスト) {} }
1.現在のコントローラの類似点と相違点の名前を取得します。
// 文字列actionNameの= filterContext.ActionDescriptor.ActionName。// MVC5写法 文字列 actionNameの= filterContext.Controller.GetType()の名前。// コア写法
-2データ・ディクショナリ・ビューの間の類似点と相違点に戻ります
= filterContext.Result 新しい新 AするViewResult VIEWNAME = { " エラー"、ViewDataを= 新しい新しい ViewDataDictionary <Return_Msg>(MSG)}; // MVc5書き込ま / * ViewDataDictionaryない場合、マルチフラッシュのViewDataを使用して監視、彼が構築、使用することができます彼* / ViewDataDictionary <Return_Msg> = ViewDataを新しい新規 ViewDataDictionary <Return_Msg> (((コントローラ)filterContext.Controller).ViewData、MSG); filterContext.Result = 新しい新するViewResult(){VIEWNAME = " エラー"、のViewData = ViewDataを}。// コア言葉遣い
GET -3。属性コントローラ
filterContext.Controller.ViewBag.RightBtnView // MVC5写法 コントローラコントローラ= filterContext.Controller としてコントローラ。 controller.ViewBag.RightBtnView = btnView。// コア写法
-4。コントローラを取得するパラメータ(変数型はpDescザParameterDescriptorです)
INT zbid = Convert.ToInt32(filterContext.ActionParameters [pDesc.ParameterName]); // MV5文言 INT zbid = filterContext.ActionArguments [pDesc.Name] .ToString(); // コア文言 filterContext.ActionDescriptor.Parameters。IList <ParameterDescriptor> // 設定形状記憶 filterContext.ActionDescriptor.Parameters [ 0 ] .nameの// パラメータの最初の名前を取得し、パラメータ名のみを取得することができ、キー値に対応しない値を取得 filterContext.ActionArgumentsを// 引数リストの辞書形式は、キーと値の値を取得することができ、より柔軟な
-5。パラメータリストの現在のリストを取得します。
リスト< ストリング > arrQueryKeys filterContext.HttpContext.Request.QueryString.AllKeys.ToList =(); // MV5文言 リスト< ストリング > arrQueryKeys filterContext.HttpContext.Request.Form.Keys.ToList =(); // 遠位フォームフォームパラメータセット KeyValuePair < 文字列、Microsoft.Extensions.Primitives.StringValues> [] filterContext.HttpContext.Request.Query.ToArray KK =(); // 配列に変換パラメータリストのアドレスバー、コア文言
-5.1現在のリストは、指定したキーに対応する値を得るために、指定されたパラメータを取得し、keyNameの=指定されたキー
INT zbid = Convert.ToInt32(filterContext.HttpContext.Request.Params [keyNameの])。// MV5的写法 int型 zbid = Convert.ToInt32(filterContext.HttpContext.Request.Form.FirstOrDefault(I => i.Key ==のkeyName).Valueの);
-6。最後のドメイン名の完全なアドレスへのアクセスを取得するには、
filterContext.HttpContext.Request.UrlReferrer.OriginalString; // ヘッドMVC5の決意要求には「リファラー」が空でなかった [filterContext.HttpContext.Request.Headers 「リファラー」 ]; // コア
7.か否かを判断する要求のAjax
filterContext.HttpContext.Request.IsAjaxRequest()// MC5 判断是否是のAjax请求判断ヘッド头部是否有「X-要求-WITH:のXMLHttpRequest」、有= Ajaxの请求 パブリック 静的 ブール IsAjaxRequest(このHttpRequestの要求) { BOOLの結果= 偽; VAR XREQ = request.Headers.ContainsKey(" X-要求-付き" )。 もし(XREQ) 結果 = request.Headers [ " X-要求-と" ] == " のXMLHttpRequest " 。 戻り値の結果; }
レジスタ8。既に登録されている、あなたはこれを介して取得することができます
保護された 仮想 T CreateService <T> () { // typeof演算(T)==>接口名 リターン(T)この .HttpContext.RequestServices.GetService(typeof演算(T))。 }