.net core在服務器端獲取api傳遞的參數過程

 更新時間:2019年10月24日 11:09:20   作者:懶東   我要評論
這篇文章主要介紹了.net core在服務器端獲取api傳遞的參數過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了.net core在服務器端獲取api傳遞的參數過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

在 ActionFilterAttribute 的OnActionExecutionAsync 中使用如下代碼從流中讀取用戶參數

//從文件流中讀取傳遞測參數
      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的比較難找,找了將近兩個小時才找到從流中讀取參數的方法,關鍵是這句:context.HttpContext.Request.Body.Seek(0, 0);不然讀取的內容為空

完整代碼

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)
    {
      //從文件流中讀取傳遞測參數
      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
 
  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • c# 讀取Northwind數據庫image字段

    c# 讀取Northwind數據庫image字段

    我在寫一個三層結構Demo時,使用了Northwind這個范例數據庫。但是奇怪的是,讀取Categories表的Picture列(image類型)無法在image控件中正常顯示(解決方案在后面代碼中可以看到)。
    2009-03-03
  • asp.net連接數據庫 增加,修改,刪除,查詢代碼

    asp.net連接數據庫 增加,修改,刪除,查詢代碼

    asp.net連接數據庫,實現增加,修改,刪除,查詢的四大功能完整代碼。
    2009-07-07
  • asp.net 無刷新附件上傳實現方法

    asp.net 無刷新附件上傳實現方法

    一直以來附件上傳都是個很郁悶的問題,剛開始是利用js添加input file 然后一起提交來實現多文件上傳,在使用163郵箱的時候很是羨慕它的附件上傳部分(選擇完文件就提交,可以多個文件一起上傳,而且還可以獲取上傳進度),這時就很想自己也寫個那樣的東西出來。
    2010-01-01
  • asp.net 開發的一些常用技巧

    asp.net 開發的一些常用技巧

    asp.net開發過程中,發現的一些不錯技巧,能用的到的朋友有福了。
    2009-07-07
  • ASP.NET XmlHttp跨域訪問實現代碼

    ASP.NET XmlHttp跨域訪問實現代碼

    最近項目需要實現XmlHttp的POST方法到另一服務器上的頁面進行數據的更新,可是IE會提出“該頁正在訪問其控制范圍之外的信息,是否繼續?”等警告信息,而在其他瀏覽器上直接禁止掉,GOOGLE一下原來是XmlHttp的跨域訪問問題,找了很多資料,說是提供很多解決方案,可是都沒有用處。
    2008-11-11
  • 用ASP.NET實現簡單的文字水印

    用ASP.NET實現簡單的文字水印

    用ASP.NET實現簡單的文字水印...
    2006-09-09
  • ASP.NET使用WebService實現天氣預報功能

    ASP.NET使用WebService實現天氣預報功能

    這篇文章主要為大家詳細介紹了ASP.NET使用WebService實現天氣預報功能的相關資料,感興趣的小伙伴們可以參考一下
    2016-08-08
  • ASP.NET MVC分頁和排序功能實現

    ASP.NET MVC分頁和排序功能實現

    這篇文章主要介紹了MVC學習系列之分頁和排序功能實現,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • asp.net Repeater中使用if的代碼

    asp.net Repeater中使用if的代碼

    asp.net Repeater中使用if的和asp.net日期綁定的轉換
    2009-02-02
  • 如何利用擴展方法來鏈式的對MVC 3中的頁面進行驗證

    如何利用擴展方法來鏈式的對MVC 3中的頁面進行驗證

    雖然擴展方法只是改變了我們寫代碼的方式,但是如果我們使用得當,可以給我們帶來巨大的編碼效率的提升接下來介紹通過擴展方法(鏈式方法)為MVC 3視圖添加驗證
    2013-01-01

最新評論

福建体育彩票时时彩11