asp.net-web-api – WebApi:如何将状态从过滤器传递给控制器?
发布时间:2020-05-25 15:01:41 所属栏目:asp.Net 来源:互联网
导读:我正在拉动一些用户数据的动作过滤器,并且可以在控制器的操作中使用一些数据,但不完全确定如何将数据从过滤器传递到控制器。 在MVC中,我可能会使用会话或HttpContext.Items,但它不可用于web api。另一个选择是使用ThreadStatic,但我认为必须有更好的解决
|
我正在拉动一些用户数据的动作过滤器,并且可以在控制器的操作中使用一些数据,但不完全确定如何将数据从过滤器传递到控制器。
解决方法您可以使用Request.Properties字典来做到这一点。在过滤器中: MyType myObject = //initialize from somwhere
actionContext.Request.Properties.Add("mykey",myObject);
然后你可以在控制器中检索它: object myObject;
Request.Properties.TryGetValue("mykey",out myObject);
//cast to MyType
这种方法的优点是当前的请求实例可以在Web API管道中的任何地方使用,因此您可以访问此对象,即在Formatter或MessageHandler中。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 在SessionPageStatePersister中保持ViewState
- asp.net-mvc – 具有输出参数的ExecuteSqlCommand
- 在使用ASP.NET会话时是否可以强制请求并发?
- asp.net-mvc-3 – 在asp.net MVC3.0中创建GridView
- asp.net-mvc-3 – 如何使MVC3 DisplayFor显示枚举显示属性的
- asp.net – 什么时候读取web.config?
- asp.net – ASP .Net VNext和Owin
- 存储过程 – 经典ASP – ADO执行存储过程传入参数
- asp.net – 什么导致页面呈现慢?
- asp.net-mvc – ASP.NET MVC 5:使用站点模板无限重定向到登
推荐文章
站长推荐
- 在Build上自动停止/重新启动ASP.NET开发服务器
- asp.net – 如何在会话超时或结束时注销用户
- asp.net-mvc – 接受逗号和点作为小数分隔符[重复
- asp.net – Request.Browser.Platform不返回iPad
- asp.net – 如何在.aspx页面中访问c#变量的值?
- ASP.NET路由 – 自定义路由完全跳过Global.asax中
- asp.net-mvc – ELMAH没有记录违规代码行号
- asp.net-mvc – 为什么人们在MVC中使用Web API控
- asp.net-mvc-3 – ASP.NET MVC 3在web.config中的
- ASP.NET缓存方法分析和实践示例代码
热点阅读
