据我所知,Microsoft.Owin.Host.SystemWeb允许我在 IIS 上运行 OWIN 应用程序,但今天我发现了另一个名为Microsoft.Owin.Host.IIS 的包(据我所知)具有类似的目的。
实际上我认为我错了,并且包非常不同。
所以,这里的问题:
要回答您的可选问题:
问题System.Web在于它过于臃肿并且与 IIS 耦合。例如,您不能在控制台窗口中托管 MVC 网站。您被迫在 IIS 中运行它。OWIN 计划试图通过添加抽象来模块化和解耦 Web 堆栈。
本质上,整个 Web Stack 被简化为中间件组件的管道(类似于 node.js 做事的方式)。中间件组件或AppFunc( Func<IDictionary<string, object>,Task>) 是一个函数,它接受一个上下文(包含请求、响应和其他东西……)并用它做一些事情(请求解析、路由、渲染视图、记录东西……)。然后整个堆栈变成了一系列中间件组件:每个组件调用链中的下一个组件,或者通过不调用下一个组件来中断执行。
ASP.NET 5 是一种自然演变,因为它构建在 OWIN 之上,因此实现了模块化并消除了对 System.Web(和 IIS)的依赖。现在一切都是可选的,您甚至可以跨平台运行应用程序(使用 .NET Core)。如果没有 OWIN,这将永远不可能。
| 归档时间: |
|
| 查看次数: |
3917 次 |
| 最近记录: |