【问题标题】:OWIN and Katana, why decouple the application from the server?OWIN 和 Katana,为什么要将应用程序与服务器解耦?
【发布时间】:2023-04-06 03:05:01
【问题描述】:

我不太明白这一点.. 能够自托管应用程序确实很酷,这可能会很好,因为如果 IIS 出于任何原因出现故障......那么您的所有网站都会出现故障......但如果他们是自托管的,然后他们在自己的环境中过自己的生活..我想这很好.. 但是我仍然没有得到这方面的优点..我是否通过使用 owin 来跳过 IIS 管道中的许多不必要的东西来加速应用程序,或者.. 实际的优点是什么? (如果它们很多,则不需要列出所有这些 :),但是我明白了为什么您要在 IIS 上使用 OWIN 和 Katana)

提前致谢!

【问题讨论】:

标签: asp.net iis owin katana


【解决方案1】:

你的问题是有效的。

您可能主要考虑的是面向 Web 的 Web 服务器。提供 HTML(或 json 或 websockets)可以用于更多用途。

我使用 Nancy 而不是 IIS,因为我有一个 small application,我只想在 IIS 朝外时从内部访问它。另外 - 如果机器没有 IIS,我不必安装它。

假设您运行 OSX 或 *nix。然后你就可以拥有一个非常好的语言和同上的编辑器,并在 Mono 上运行一个简单的 Web 服务器。

假设您正在使用像 Netduino 这样的微控制器 - IIS 不适合它。我怀疑南希也跑在那里——但你明白了;并非所有东西都需要 24 轮车来运输数据。

假设您正在以 Win 机器为核心和中心来自动化您的房子。现在,您真的要安装 IIS 吗?它可以做到天知道,还是尽可能少地安装它就足够了?
如果上面的自动化房子是你最喜欢的 F/OSS 项目,并且你很重视自动化测试。南希因此而闻名。

另一个例子来自我的近乎现实。我有一个运行过时的 Umbraco CMS 的 snow flake server。在我接触这台机器之前,我戴上了我的软手套,而且只是轻轻地。
如果我需要另一个 web 或 json 服务器,Nancy 会做尽可能少的印记。

尽管微软似乎或多或少地将 Katana 排除在外,但 OWIN 的说法已经过时了。

HTH

【讨论】:

  • 好的,但是如果我做对了...您仍然有一台服务器机器,它运行 Nancy..然后您有一些连接到服务器机器的客户端,对吗? ?为什么不首先在主机上使用 IIS?.. 或者 Nancy 是否允许您从远程计算机管理服务器?
  • 当且仅当 IIS 碰巧 位于服务器上时,它可能专用于某事;通常向网络上的用户提供 HTML 内容。另一方面,我的应用程序服务于 DevOps 目的。我想在不接触 IIS 的情况下使用和删除我的应用程序。我也在上面填写了我的答案。
  • “我使用 Nancy 而不是 IIS”是需要澄清的声明。基于 Nancy 的应用程序当然可以在 IIS 上运行良好。最好说您使用 Nancy 自助托管。
【解决方案2】:

MS 提供的 OWIN 和 Katana 概述 -- 可以在此处找到这两个项目的历史背景和推理:

http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana

从文章中总结:

OWIN:它的目标不是成为下一个 Web 框架,而是制定 Web 框架和 Web 服务器如何交互的规范。

Katana 项目:Katana 项目代表一组 OWIN 组件,这些组件虽然仍然是开源的,但由 Microsoft 构建和发布。这些组件既包括基础架构组件(例如主机和服务器),也包括功能组件(例如身份验证组件和与 SignalR 和 ASP.NET Web API 等框架的绑定)。 Katana 带来了 Node.js(以及类似的框架)的许多优点——可以简单地编写和运行 Web 服务器——而不会迫使开发人员放弃她所知道的关于开发 ASP.NET Web 应用程序的一切。

【讨论】:

猜你喜欢
  • 2018-06-28
  • 2015-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-15
  • 1970-01-01
相关资源
最近更新 更多