【发布时间】:2014-04-09 21:52:50
【问题描述】:
是否可以将 Asp.Net Mvc 作为 OWIN 中间件运行?这需要什么?我似乎找不到任何关于此的信息,但我不知道为什么它不可能。
有可能吗?这简单吗?这个问题有意义吗?
【问题讨论】:
-
你为什么要这样做?用例是什么?
-
@GeorgeStocker 目前只是知识,但最终能够通过 nuget 作为 OWIN 中间件分发垂直应用程序切片。例如,包含用于管理用户帐户的 ui 的用户管理组件可以构建在 asp.net mvc 中,并同样包含在 Mvc、Webforms、Nancy 和 OpenRasta 项目中。
-
另一个用例是创建一个能够执行任何浏览器内单元测试(例如 jasmine)的独立控制台应用程序
-
@GeorgeStocker 下面是用例:具有适用于 MVC、WebAPI、SignalR 的基于中间件的身份验证。事实证明,当前 MVC 会将 Thread.CurrentPrincipal 重置为 HttpApplication.AuthenticateRequest 生成的值,除非您添加 AuthenticationFilter。也许我做错了什么,但似乎 MVC 有效地忽略了 OWIN 中间件的一些影响。而且它不是很好,有点打破了中间件的整个想法。
-
@PavelGatilov 这可能只是 asp.net 尚未与中间件概念完全集成的结果。在下一个版本的 asp.net 发布之前,它处于“被入侵”状态
标签: asp.net-mvc owin