首页 新闻 会员 周边 捐助

asp.net webapi下如何针对某个controller或action设置session readonly

0
悬赏园豆:5 [待解决问题]

一个webapi项目使用了session,发现同一用户的并发请求调用后台webapi接口,到了后台就变串行执行了,为了提高性能,现在想针对某个controller或action设置session readonly。

在webform和MVC下都可以针对单个页面或controller设置session readonly,比如在controller上添加特性[SessionState(SessionStateBehavior.ReadOnly)],但是没有找到在webapi项目中的方案。

参考资料:https://www.cnblogs.com/emrys5/p/aspnet-session-readonly.html

永远的麦子的主页 永远的麦子 | 初学一级 | 园豆:33
提问于:2019-05-20 11:23
< >
分享
所有回答(3)
0

你试试自己实现session就明白这个问题了->边改边读将会成为问题,那么写的时候用lock是很容易解决这个问题的;如果你能很明显的感受到“并发”访问 发生这个瓶颈,我认为主要考虑的是lock的范围效率成为了问题。你readonly难道就不创建 session了?—— 创建和删除是最最根源的lock问题。

花飘水流兮 | 园豆:13595 (专家六级) | 2019-05-20 13:00

只对那些仅读取session的controller或action设置readonly,那么前台在并发调用这些action的时候就是并行执行的。

支持(0) 反对(0) 永远的麦子 | 园豆:33 (初学一级) | 2019-05-20 13:45
0

加个lock,相同的数据会同步进行,不同的数据会并行

jqw2009 | 园豆:2341 (老鸟四级) | 2019-05-21 10:37

用的是asp.net框架的session哦。

支持(0) 反对(0) 永远的麦子 | 园豆:33 (初学一级) | 2019-05-21 18:43
0
dudu | 园豆:31030 (高人七级) | 2019-05-22 11:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册