.net core在服务器端获取api传递的参数过程
2019-10-24 18:05
986 查看
这篇文章主要介绍了.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 }
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- vue ajax获取数据的时候,如何保证传递参数的安全或者说如何保护api的安全
- python直接获取API传递回来的参数
- python直接获取API传递回来的参数方法
- Flex loaderInfo swf模块获取url传递的参数
- MSSQL SQL获取所有数据库名、表名、储存过程以及参数列表
- u-boot与linux内核间的参数传递过程分析
- SQL获取所有数据库名、表名、储存过程以及参数列表
- sqlserver存储过程传递参数和获取返回值
- js获取url中的参数,url中传递中文的时候通过js解码的方式
- C#中如何获取存储过程的输出参数值
- 简单解决 multipart/form-data 文件上传表单中 传递参数无法获取的办法! (解决办法:动态更改表单提交URL)
- XMLHttpRequest post 传递多个参数及服务器端读取
- 微信小程序开发,服务器端获取不到请求参数
- ado执行存储过程中包含结果集获取输出参数为VT_EMPTY
- oracle 存储过程详细介绍(创建,删除存储过程,参数传递等)
- swf获取网页传递的参数
- 参数传递值的过程中,接受参数值改变问题
- 使用layer 弹出对话框 子父页面相互参数传递 父页面获取子页面参数实例
- BASE64-客户端(js)加码-服务器端(c#)解码,URL传递“汉字参数”解决方法。
- C#获取存储过程的 Return返回值和Output输出参数值