是否可以从Web API访问HttpContext.Current.Session

九壁

是否可以通过WebAPI访问HttpContext.Current.Session?我们可以使其继承IRequiresSession吗?

我有一个通用处理程序,在要删除的API调用之后进行会话设置。

public void AccountController : ApiController, IRequiresSessionState
{
public void Login()
{
setsession(){}
} 
}
亚罗诺

从技术上讲,是的,尽管我确实反对这种做法-REST API应该完全无状态(cookie和其他客户端状态是可以的)。

如果绝对必须这样做,则可以像这样获取HTTP上下文:

var context = Request.Properties["MS_HttpContext"] as HttpContext;

此时,您只需使用其Session属性即可获取会话。

请注意,这违反了某些假定的约定System.Net.Http-特别是这意味着您的API控制器永远无法自我托管,因为它们已与ASP.NET耦合。如果您对此表示满意,并且您的API控制器可能无法从Web场正常工作,除非您重新架构所有内容以使用分布式会话-那么,那就去吧。

PS也可以使用IRequiresSessionState,但是您不能在控制器本身上使用它,需要在上使用并将其HttpControllerHandler设置为RouteHandler此MSDN线程中讨论了该方法同样,对于这种想法,我不能提出足够强烈的建议,因为它违反了Web API的基本原理-但是,如果您确实有充分的理由,那么这是另一个可重用的选择。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在类库中访问HttpContext.Current.Session?

来自分类Dev

HttpContext.Current.Session-NullReferenceException

来自分类Dev

OWIN和HttpContext.Current.Session

来自分类Dev

HttpContext.Current.Session始终为空

来自分类Dev

HttpContext.Current.Session为null + OWIN

来自分类Dev

Web API HttpContext.Current.Request.UserAgent始终为null

来自分类Dev

Autofac Web Api多租户未获取HTTPContext.Current

来自分类Dev

我如何访问类库中的会话值?(System.Web.Current.Session不起作用)

来自分类Dev

HttpContext.Current.Session和HttpContext.Current.Items有什么区别?

来自分类Dev

在工作进程之间共享HttpContext.Current.Session吗?

来自分类Dev

无法在HttpContext.Current.Session状态下检索值

来自分类Dev

如果(HttpContext.Current.Session [“ id”]!= null)返回NULL EXCEPTION

来自分类Dev

ASP.NET:page.Session和HttpContext.Current.Session之间的区别

来自分类常见问题

无法访问HttpContext.Current

来自分类Dev

current_session对象是否对User对象了解太多?

来自分类Dev

current_session对象是否对User对象了解太多?

来自分类Dev

Web API服务-如何在异步任务中使用“ HttpContext.Current”

来自分类Dev

ASP.NET Web Api中HttpContext.Current.Items的替代方法

来自分类Dev

ASP.NET Web Api中HttpContext.Current.Items的替代方法

来自分类Dev

在 Web Api 2 中获取 HttpContext.Current.User.Identity.Name null 通过 angular 4 登录

来自分类Dev

为什么在Session_End事件期间HttpContext.Current为null?

来自分类Dev

将HttpContext.Current.Session保留在WCF服务中以进行服务调用

来自分类Dev

如何从包含值列表的 HttpContext.Current.Session["PaTSUA"] 获取特定值?

来自分类Dev

在哪里可以找到System.Web.HttpContext.Current.Server dll?

来自分类Dev

Current.Session工作很奇怪

来自分类Dev

设置Thread和HttpContext主体后,无法访问或授权ASP.Net Web API

来自分类Dev

检查 HttpContext.Current.Request.Files["filex"] 是否有文件

来自分类Dev

是否可以在纯JS中访问SESSION变量(在PHP中设置)?

来自分类Dev

我的用户是否可以通过单击Ajax以外的按钮来访问$ _SESSION的内容?

Related 相关文章

  1. 1

    如何在类库中访问HttpContext.Current.Session?

  2. 2

    HttpContext.Current.Session-NullReferenceException

  3. 3

    OWIN和HttpContext.Current.Session

  4. 4

    HttpContext.Current.Session始终为空

  5. 5

    HttpContext.Current.Session为null + OWIN

  6. 6

    Web API HttpContext.Current.Request.UserAgent始终为null

  7. 7

    Autofac Web Api多租户未获取HTTPContext.Current

  8. 8

    我如何访问类库中的会话值?(System.Web.Current.Session不起作用)

  9. 9

    HttpContext.Current.Session和HttpContext.Current.Items有什么区别?

  10. 10

    在工作进程之间共享HttpContext.Current.Session吗?

  11. 11

    无法在HttpContext.Current.Session状态下检索值

  12. 12

    如果(HttpContext.Current.Session [“ id”]!= null)返回NULL EXCEPTION

  13. 13

    ASP.NET:page.Session和HttpContext.Current.Session之间的区别

  14. 14

    无法访问HttpContext.Current

  15. 15

    current_session对象是否对User对象了解太多?

  16. 16

    current_session对象是否对User对象了解太多?

  17. 17

    Web API服务-如何在异步任务中使用“ HttpContext.Current”

  18. 18

    ASP.NET Web Api中HttpContext.Current.Items的替代方法

  19. 19

    ASP.NET Web Api中HttpContext.Current.Items的替代方法

  20. 20

    在 Web Api 2 中获取 HttpContext.Current.User.Identity.Name null 通过 angular 4 登录

  21. 21

    为什么在Session_End事件期间HttpContext.Current为null?

  22. 22

    将HttpContext.Current.Session保留在WCF服务中以进行服务调用

  23. 23

    如何从包含值列表的 HttpContext.Current.Session["PaTSUA"] 获取特定值?

  24. 24

    在哪里可以找到System.Web.HttpContext.Current.Server dll?

  25. 25

    Current.Session工作很奇怪

  26. 26

    设置Thread和HttpContext主体后,无法访问或授权ASP.Net Web API

  27. 27

    检查 HttpContext.Current.Request.Files["filex"] 是否有文件

  28. 28

    是否可以在纯JS中访问SESSION变量(在PHP中设置)?

  29. 29

    我的用户是否可以通过单击Ajax以外的按钮来访问$ _SESSION的内容?

热门标签

归档