signalr – Microsoft.Owin类似OwinMiddleware和IOwinContext与
如果我使用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). 希望这可以帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-server-2012-r2 – 如何在HyperV主机上创建的虚拟网
- 批处理文件 – FOR循环中的CHOICE – Windows批处理
- windows-server-2003 – PHP MYSQL站点性能
- windows – 您对供应商的想法,要求所有用户使用相同的用户名
- windows-server-2008 – Hyper-V:从子网为VM分配公共IP
- .net – 如何在WinRT中清除TimeZoneInfo缓存?
- windows-server-2008 – 如何使用自定义名称服务器和IIS为多
- windows – 为什么ZeroMQ PGM组播接收卡在中间并且没有进一
- windows-server-2012 – Windows Server 2012:添加/删除程
- 编写dll 关于declspec(dllexport)和declspec(dllimport)