加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

signalr – Microsoft.Owin类似OwinMiddleware和IOwinContext与

发布时间:2020-12-13 20:26:20 所属栏目:Windows 来源:网络整理
导读:如果我使用Microsoft.Owin类型(如OwinMiddleware和IOwinContext)构建OWIN中间件,我的中间件是否可以与非Microsoft Owin主机/服务器配合工作?我正在查看 Nancy和 SignalR的中间件类,他们看起来与 OwinMiddleware基础类似,就像Cookie认证中间件和 WebApi所基
如果我使用Microsoft.Owin类型(如OwinMiddleware和IOwinContext)构建OWIN中间件,我的中间件是否可以与非Microsoft Owin主机/服务器配合工作?我正在查看 Nancy和 SignalR的中间件类,他们看起来与 OwinMiddleware基础类似,就像Cookie认证中间件和 WebApi所基于的基础类似.我正在阅读规范,但如果非Microsoft Owin服务器可以使用OwinMiddleware和IOwinContext类型,而不依赖Microsoft.Owin(我猜想会击败Owin的目的),我仍然不清楚.
如果您使用OwinMiddleware基本类型构建中间件,则默认情况下,它不会与非Microsoft Owin服务器配合使用.但是可以使用非Microsoft服务器(SignalR以Nowin为例).

IAppBuilder(https://github.com/owin/owin-hosting/blob/master/src/main/Owin.Builder/AppBuilder.cs)的默认实现具有内置的签名转换功能.这允许任何人注册从T – >的转换. AppFunc和AppFunc – >这意味着您可以在同一管道中混合和匹配中间件与不同的签名. (有关OwinMiddleware的工作原理,请参阅https://katanaproject.codeplex.com/SourceControl/latest#src/Microsoft.Owin/Infrastructure/SignatureConversions.cs).只要这种转换存在,您可以使“原始”中间件(如nancy)无缝地与OwinMiddleware一起工作.看看这是如何工作的:

https://github.com/owin/owin-hosting/blob/master/src/main/Owin.Builder/AppBuilder.cs#L182(现在你的大脑爆炸了……)

在SignalR的情况下,我们自动为您添加转换(https://github.com/SignalR/SignalR/blob/dev/src/Microsoft.AspNet.SignalR.Core/Owin/OwinExtensions.cs#L168),但可以在任何依赖于OwinMiddleware的代码中完成,以确保转换工作.

如果您使用任何Microsoft.Owin.Hosting来引导您的应用程序,但是使用非Microsoft Web服务器,那么您将免费获得转换(参见现在的自述文件中的例子https://github.com/Bobris/Nowin/blob/master/README.md).

希望这可以帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读