【问题标题】:set variable that only exists application wise per request in WebAPI在 WebAPI 中设置每个请求仅存在应用程序的变量
【发布时间】:2013-01-03 16:44:22
【问题描述】:

我正在使用带有 SSL 的基本身份验证来保护我使用 ASP.NET WebAPI 的 API。我不想使用 cookie 或会话变量,但我需要在请求的生命周期内提供一些可用且可访问的凭据。

我有一个 RoleProvider 和一个访问 ActionFilter 以及对我的存储库的调用,它们都需要访问这些数据。

我该怎么做?

【问题讨论】:

    标签: c# asp.net asp.net-web-api


    【解决方案1】:

    您是否有理由不能将它们放入请求上下文中?

    HttpContext.Current.Items.Add("credentials", CredentialObject);
    

    编辑:不要使用我上面的建议。请参阅 cmets 中的链接以获得更好、可测试的答案。

    【讨论】:

    • 将 HttpContext 与 WebApi 一起使用被认为是不好的做法。它很难进行单元测试,并且限制您只能在 IIS 上运行 WebApi 应用程序。
    • @JoshNoe 请问您建议改用什么?
    猜你喜欢
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-24
    • 2014-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多