OWIN中间件可以使用http会话吗?

用户名

我为ASP.NET和SignalR复制了一些代码,因此决定将其重写为OWIN中间件,以删除此重复项。

运行HttpContext.Current.Session它后,我注意到它为null,并且在IOwinContext中间件上没有看到任何会话对象

是否可以从OWIN访问http会话?

拖网渔船

是的,但这是一个hack。它也不适用于SignalR,因为SignalR必须在获取会话之前运行,以防止长时间的会话锁定。

这样做可以为任何请求启用会话:

public static class AspNetSessionExtensions
{
    public static IAppBuilder RequireAspNetSession(this IAppBuilder app)
    {
        app.Use((context, next) =>
        {
            // Depending on the handler the request gets mapped to, session might not be enabled. Force it on.
            HttpContextBase httpContext = context.Get<HttpContextBase>(typeof(HttpContextBase).FullName);
            httpContext.SetSessionStateBehavior(SessionStateBehavior.Required);
            return next();
        });
        // SetSessionStateBehavior must be called before AcquireState
        app.UseStageMarker(PipelineStage.MapHandler);
        return app;
    }
}

然后,您可以使用HttpContext.Current.Session来访问会话

HttpContextBase httpContext = context.Get<HttpContextBase>(typeof(HttpContextBase).FullName);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

OWIN中间件可以使用http会话吗?

来自分类Dev

使用OWIN中间件记录异常

来自分类Dev

使用OWIN中间件记录异常

来自分类Dev

我可以在中间件上使用动态模型吗?

来自分类Dev

使用中间件Laravel或使用If会话?

来自分类Dev

Serilog Owin 中间件

来自分类Dev

HTTP模块和OWIN中间件之间的区别

来自分类Dev

如何使用Owin中间件拦截404

来自分类Dev

发送带有Express的响应后,是否可以使用某种“中间件”?

来自分类Dev

发送带有Express的响应后,是否可以使用某种“中间件”?

来自分类Dev

我可以在较旧的MVC3应用程序中运行OWIN中间件吗

来自分类Dev

在 Laravel 的自定义中间件中使用会话

来自分类Dev

.NET Core API可以称为“中间件”吗?

来自分类Dev

OWIN中间件用法的实际示例

来自分类Dev

OWIN中间件中的URL重写

来自分类Dev

启动/停止OWIN中间件?

来自分类Dev

带CAS的OWIN中间件

来自分类Dev

使用Ninject OWIN中间件在OWIN启动中进行依赖注入UserStore

来自分类Dev

Express / Connect:是否可以多次使用静态中间件?

来自分类Dev

如何使用基本 HTTP Django 授权中间件?

来自分类Dev

如何使用OWIN安全中间件在应用程序中设置NameClaimType

来自分类Dev

如何在ASP.NET 5中使用基于IAppBuilder的Owin中间件

来自分类Dev

使用不带OWIN身份验证中间件的WebAPI 2

来自分类Dev

如何使用OWIN中间件组件检查MVC响应流?

来自分类Dev

使用OWIN中间件还是委托MessgaeHandler来记录api请求/响应?

来自分类Dev

OWIN身份验证管道以及如何正确使用Katana中间件?

来自分类Dev

如何使用OWIN中间件重写对静态文件的请求的版本化url?

来自分类Dev

如何使用Apache Web服务器作为OWIN的中间件组件?

来自分类Dev

Microsoft.Owin.Security.ActiveDirectory是否用于制作使用AD的Owin身份验证中间件?

Related 相关文章

  1. 1

    OWIN中间件可以使用http会话吗?

  2. 2

    使用OWIN中间件记录异常

  3. 3

    使用OWIN中间件记录异常

  4. 4

    我可以在中间件上使用动态模型吗?

  5. 5

    使用中间件Laravel或使用If会话?

  6. 6

    Serilog Owin 中间件

  7. 7

    HTTP模块和OWIN中间件之间的区别

  8. 8

    如何使用Owin中间件拦截404

  9. 9

    发送带有Express的响应后,是否可以使用某种“中间件”?

  10. 10

    发送带有Express的响应后,是否可以使用某种“中间件”?

  11. 11

    我可以在较旧的MVC3应用程序中运行OWIN中间件吗

  12. 12

    在 Laravel 的自定义中间件中使用会话

  13. 13

    .NET Core API可以称为“中间件”吗?

  14. 14

    OWIN中间件用法的实际示例

  15. 15

    OWIN中间件中的URL重写

  16. 16

    启动/停止OWIN中间件?

  17. 17

    带CAS的OWIN中间件

  18. 18

    使用Ninject OWIN中间件在OWIN启动中进行依赖注入UserStore

  19. 19

    Express / Connect:是否可以多次使用静态中间件?

  20. 20

    如何使用基本 HTTP Django 授权中间件?

  21. 21

    如何使用OWIN安全中间件在应用程序中设置NameClaimType

  22. 22

    如何在ASP.NET 5中使用基于IAppBuilder的Owin中间件

  23. 23

    使用不带OWIN身份验证中间件的WebAPI 2

  24. 24

    如何使用OWIN中间件组件检查MVC响应流?

  25. 25

    使用OWIN中间件还是委托MessgaeHandler来记录api请求/响应?

  26. 26

    OWIN身份验证管道以及如何正确使用Katana中间件?

  27. 27

    如何使用OWIN中间件重写对静态文件的请求的版本化url?

  28. 28

    如何使用Apache Web服务器作为OWIN的中间件组件?

  29. 29

    Microsoft.Owin.Security.ActiveDirectory是否用于制作使用AD的Owin身份验证中间件?

热门标签

归档