.net core在服務(wù)器端獲取api傳遞的參數(shù)過程
這篇文章主要介紹了.net core在服務(wù)器端獲取api傳遞的參數(shù)過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
在 ActionFilterAttribute 的OnActionExecutionAsync 中使用如下代碼從流中讀取用戶參數(shù)
//從文件流中讀取傳遞測參數(shù) using (var ms = new MemoryStream()) { context.HttpContext.Request.Body.Seek(0, 0);//將讀取指針迻到開始位置 context.HttpContext.Request.Body.CopyTo(ms); var b = ms.ToArray(); var postParamsString = Encoding.UTF8.GetString(b); }
雖然以前就知道是從流中讀取,但是.net core的比較難找,找了將近兩個小時才找到從流中讀取參數(shù)的方法,關(guān)鍵是這句:context.HttpContext.Request.Body.Seek(0, 0);不然讀取的內(nèi)容為空
完整代碼
public class SignValidateAttribute : ActionFilterAttribute { #region /// <summary> /// /// </summary> /// <param name="context"></param> /// <param name="next"></param> /// <returns></returns> public async override Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { //從文件流中讀取傳遞測參數(shù) using (var ms = new MemoryStream()) { context.HttpContext.Request.Body.Seek(0, 0); context.HttpContext.Request.Body.CopyTo(ms); var b = ms.ToArray(); var postParamsString = Encoding.UTF8.GetString(b); await next(); } } /// <summary> /// /// </summary> /// <param name="context"></param> /// <param name="next"></param> /// <returns></returns> public override Task OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next) { //string dataJson = GetContextJson(context.); return base.OnResultExecutionAsync(context, next); } #endregion }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
silverlight2.0Beta版TextBox輸入中文解決方法
silverlight Beta 2.0 中TetBox輸入漢字,除MS自己的輸入法,其它所有輸入法都會出現(xiàn)輸入的東西會在TextBox中重復(fù)一次的現(xiàn)像,google ,Baidu了一下,大家說好像是silverlight自己的一個BUG,可能會在Repleass的時候修改。2008-10-10asp.net2.0實現(xiàn)郵件發(fā)送(測試成功)
2008-06-06asp.net LINQ中數(shù)據(jù)庫連接字符串的問題
這兩天一直在用LINQ做開發(fā),也是第一次嘗試用LINQ做開發(fā),效率沒的說,開發(fā)過程中遇到一個問題困擾了我好久,今天問題終于解決了,發(fā)上來和大家分享一下,也給自己做個備忘。2010-03-03Asp.net生成Excel文件并下載(更新:解決使用迅雷下載頁面而不是文件的問題)
Asp.net生成Excel文件并下載(更新:解決使用迅雷下載頁面而不是文件的問題)2012-01-01Jenkins編譯.NET?Core、.NET?Framework項目并遠(yuǎn)程部署到IIS
這篇文章介紹了Jenkins編譯.NET?Core、.NET?Framework項目并遠(yuǎn)程部署到IIS的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04.NET使用CsvHelper快速讀取和寫入CSV文件的操作方法
在日常開發(fā)中使用CSV文件進(jìn)行數(shù)據(jù)導(dǎo)入和導(dǎo)出、數(shù)據(jù)交換是非常常見的需求,今天我們來講講在.NET中如何使用CsvHelper這個開源庫快速實現(xiàn)CSV文件讀取和寫入,需要的朋友可以參考下2024-06-06Windows Server 2012 R2 或 2016無法安裝.Net 3.5.1
這篇文章主要為大家詳細(xì)介紹了Windows Server 2012 R2 或 2016 無法安裝 .Net 3.5.1,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02.Net中如何操作IIS的虛擬目錄原理分析及實現(xiàn)方案
編程控制IIS實際上很簡單,和ASP一樣,.Net中需要使用ADSI來操作IIS,但是此時我們不再需要GetObject這個東東了,因為Net為我們提供了更加強(qiáng)大功能的新東東2012-12-12ASP.NET MVC 中實現(xiàn)基于角色的權(quán)限控制的處理方法
在ASP.NET MVC中,通過使用其所提供的內(nèi)置2013-03-03