我应该选择哪个版本的卡西尼号用于生产?有来自 5 个不同作者的 8 个公共版本

发布于 2024-10-25 04:57:55 字数 1494 浏览 2 评论 0原文

我发现了 Microsoft 构建的几个版本的无 IIS 的 Cassini Web 服务器。我会使用它,但我不确定哪一个最好,因为有很多分支/版本:

对于上述分支,您推荐哪种 Web 服务器; Hostable Web Core 是新的 Cassini,还是我仍然依赖带有 HWC 的 IIS?

如果您能详细说明:

  • 项目的安全性
  • 如果分支适合提供轻量级“管理”界面
  • 网站功能
  • 对 IIS 的任何依赖(例如 HWC)。

I found several versions of an IIS-free Cassini webserver built by Microsoft. I'd use it but I'm unsure of which one is best, since there are many forks/builds:

What web server do you recommend of the forks above; is Hostable Web Core the new Cassini, or do I still have a dependency on IIS with HWC?

I'd appreciate it if you would elaborate:

  • The project's security
  • If the fork is suitable for serving a lightweight "Admin" interface
  • Website features
  • Any dependency on IIS (such as HWC).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

寒冷纷飞旳雪 2024-11-01 04:57:56

目前我的观点是:

这些(包括我的代码)都不适合生产目的。所有共享的 simpleworker 使用的限制和限制并不适合关键任务(我认为“生产”的意思)流程。其中最重要的是完全无法在除 LoopBack 之外的任何 IP 上提供 WCF(不包括 WebHttp 绑定、IIRC)。另一个限制是,它们将所有服务请求作为一个队列,一次一个,并且截至目前,所有请求都由运行时处理,包括静态文本和图像文件。 CassiniDev 中的情况可能会发生变化(如果资金到位的话,迟早会发生变化)。在所有 IIRC 实现中,缓存也几乎不存在。

  • HWC 需要 IIS7
  • Original 是一件博物馆作品
  • Dmitry 在我们几个人分叉后从 Cassini 业务中退休,所以不要在那里寻找更新。如果您出于某种奇怪的原因选择启动另一个 cassini fork,那么他的代码是一个很好的起点。
  • Cassini++ 是 Dmitry 的代码,有一些增强功能,主要是使用外部 IP 的能力,但自 2 年前我开始 CassiniDev 以来就没有任何活动。
  • zippy1981 最初分叉 Dmitry 是为了解决内容类型问题,因为我在实现它时有点懒惰。自 2010 年 4 月起没有任何活动
  • 我没有使用 MPosseth 的 VB 端口的经验,似乎处于休眠状态。

  • UtiDev 具有一些出色的功能,例如作为服务运行,并且严格来说不是 Cassini 的分支。它是免费且可重新分发的,但自 2008 年以来一直处于休眠状态。

是我经常使用的工具,其功能反映了这一点。它支持 2.0、3.5 和 4.0。它被构建为 exe、dll 和 100% 兼容(增强)的 Visual Studio 开发服务器替代品。它适合且易于使用,可用于测试框架和持续集成环境以及独立的 exe 和嵌入到您自己的应用程序中。

Visual Studio 2010 的最新版本的 WebDev.WebServer 已通过反射器运行来识别更改,但发现的更改很少,并且该意图已在 CassiniDev 中实现。

开发工作非常活跃,并获得了一些企业资金来推动一些新功能,例如:用于将 html/javascript 测试结果发送回 NUnit、MSTest 等的虚拟端点;浏览器驱动程序,可以打开浏览器、提供页面并关闭浏览器;支持插件的配置系统的基本启动,当前唯一的实现是 CORS 插件,它将通过 CORS、XDomainRequest 和 Flash 发送支持跨域 javascript 所需的标头。

Codeplex 登陆页面显示了它的年龄,文档已经多年没有更新,但源显示了活动,我通常有快速启动功能的示例/测试。我希望有时间写一些合适的文档。

在时间允许的情况下,错误会得到修复,功能也会得到实现。

从我的角度来看,唯一的选择是 CassiniDev 和 UtiDev 之间。显然我选择 CassiniDev,根据需求 UtiDev 可能更适合。

UtiDev 是一个非常好的产品,但处于休眠状态。它有一些不错的功能,我最终会借鉴这些功能,例如作为一项服务运行以及在一个 IP 上为多个站点提供服务。

我的.02。尽管看起来我无耻地塞满了自己的工作,但事实是我每天都在开发和测试中使用 CassiniDev,就像其他 100(0?) 人一样。我很高兴其他人在工作中发现了价值,但虽然我在时间允许的情况下尽了最大努力,但我不能保证对问题和功能的响应时间,并且不想产生不适当的期望。

a quick rundown of my view currently is that:

None of these, including my code, is suitable for production purposes. The limitations and restrictions of the simpleworker usage that all share does not lend itself to mission critical (what i perceive 'production' to mean) processes. Not the least of which is the complete inability to serve WCF (does not include WebHttp bindings, IIRC) on any IP other than LoopBack. Another limitation is that they all service requests as a queue, one at a time and as of today ALL requests are processed by the runtime including static text and image files. This may change in CassiniDev (sooner than later if funding is secured). Caching is also all but non-existent in all implementations IIRC.

  • HWC requires IIS7
  • Original is a museum piece
  • Dmitry retired from the Cassini business after a few of us forked so don't look for updates there. His code is a good place to start if you choose to start yet another cassini fork for some odd reason.
  • Cassini++ is Dmitry's code with a few enhancements, primarily the ability to use an external IP but has had no activity since before I started CassiniDev 2 years ago.
  • zippy1981 initially forked Dmitry to solve a content type issue after I was a bit lazy in implementing it. No activity since 04-2010
  • I have no experience with MPosseth's VB port, appears dormant.

  • UtiDev has some great features such as running as a service and is not strictly a Cassini fork. It is free and redistributable but has been dormant since 2008.

CassiniDev is a tool that I use a lot and the features reflect this. It supports 2.0, 3.5 and 4.0. It is built as an exe, a dll and as a 100% compatible (enhanced) drop in replacement for Visual Studio's dev server. It is suitable and easy to use by testing frameworks and continuous integration environments as well as stand alone exe and embedded in your own applications.

The latest versions of WebDev.WebServer for Visual Studio 2010 have been run through reflector to identify changes and very few were found and the intent has been implemented in CassiniDev.

Development is active and has enjoyed a bit of corporate funding to drive some of the new features such as; a virtual endpoint for sending html/javascript test results back to NUnit, MSTest etc; A browser driver that can open a browser, serve a page and close the browser; a rudimentary start of a configuration system that supports plugins, the current sole implementation is a CORS plugin that will send the headers needed to support cross-domain javascript via CORS, XDomainRequest and Flash.

The codeplex landing page is showing it's age and the documentation hasn't been updated in years but the source shows the activity and I generally have samples/tests that quick start features. I hope to get some time to write some proper docs.

Bugs get fixed and features get implemented as time allows.

From my perspective the only choice is between CassiniDev and UtiDev. Obviously I choose CassiniDev, depending on ones requirements UtiDev could be a better fit.

UtiDev is a very good product but is dormant. It has a few nice features that I will eventually steal such as running as a service and serving multiple sites on one IP.

My .02. Although it may appear that I am shamelessly plugging my own work the fact is that I use CassiniDev every day in development and testing as do 100(0?)s of others. I am glad that others find value in the work but while I do my best as time allows, I cannot guarantee response time to issues and features and don't want to create improper expectations.

陌路黄昏 2024-11-01 04:57:56

UltiDev Cassini 实际上并未处于休眠状态。其后继者 UltiDev Web Server Pro (UWS),已经开发了一年多,并且已经变得更接近 IIS(在功能上,而不是在大小或复杂性上)。 UltiDev Web Server Pro 测试版本每隔几周发布一次,并且已经相当稳定。

评论 Sky 的一些观点:

  • 新的 UWS 在提供静态内容时绕过 ASP.NET 运行时。
  • UltiDev Cassini 不限于环回 IP/主机名。新的 UWS 使用 http.sys 内核驱动程序作为侦听器 - 与 IIS 相同。
  • UltiDev Cassini 和 UWS 对请求进行排队,但通过池线程并行处理。
  • 无法使用 WsHttpBinding 为 WCF 提供服务并不是 SimpleWorkerRequests 的限制,而是 WCF 的假设:每当它托管在 ASP.NET AppDomain 中时,它就托管 IIS 或原始 Cassini,而不是其他任何东西。说服微软做出改变的尝试花费了两年多的时间,但失败了。最后,托管在 ASP.NET 应用程序域中的 WCF 得出的结论是,只有在 IIS 下,它才是安全的,而当它由随机 .net 进程/应用程序域(不含 ASP.NET)托管时,则不会做出这样的假设。不过,带有 BasicHttpBinding 的 WCF 仍然可以正常工作。

干杯,
弗拉德。

UltiDev Cassini is not actually dormant. Its successor, UltiDev Web Server Pro (UWS), has been under development for more than a year and has become closer to IIS (in functionality, not in size or complexity). UltiDev Web Server Pro test builds are being released once every few weeks and are fairly stable already.

To comment on some of Sky's points:

  • New UWS bypasses ASP.NET runtime when serving static content.
  • UltiDev Cassini is not limited to loopback IPs/host names. New UWS uses http.sys kernel driver as listener - same as IIS.
  • UltiDev Cassini and UWS do queue requests but handle in parallel by pooled threads.
  • Inability to serve WCF with WsHttpBinding is not a limitation of SimpleWorkerRequests, but rather of WCF's assumption that whenever it's hosted in an ASP.NET AppDomain, then it's hosted either IIS or original Cassini, and nothing else. Attempts to convince MS to change that spanned more than two years and failed. In the end, WCF hosted in ASP.NET appdomain concludes that it's only safe when it's under IIS, while not making such assumption when it's hosted by a random .net process/appdomain w/o ASP.NET. Still, WCF with BasicHttpBinding works alright.

Cheers,
Vlad.

甜`诱少女 2024-11-01 04:57:56

您可以尝试在 Apache 环境下使用 Mono XSP 或 mod_mono,或者在 nginx 后面使用 mono fast cgi 服务器!
您不使用 IIS 的动机是什么?

You could try Mono XSP or mod_mono with an Apache Environment or mono fast cgi server behind an nginx!
What is your motivation to not use an IIS?

鹤舞 2024-11-01 04:57:56

我的作品基于 Dmitry Robsman 的 Cassini,我的 VB 移植的 4.0 版本基于我当时在 Dmitry 的页面上可以找到的最新版本,他知道我为他的作品制作了 VB 移植,因为他向我发送了一封抄送电子邮件感谢丽莎·费根鲍姆(Lisa Feigenbaum)感谢我。

我从来没有收到任何人抱怨某些功能不起作用的反馈,它只是满足了我的需求(所以不需要对其进行处理),我知道过去有一个CassineEX,其中EX代表扩展i下载了这个东西,一开始想使用它,但在我看来它相当臃肿,我只是想要一个简单的小型且尽可能快的网络服务器,我不需要日志功能和 EX 中实现的所有其他东西版本 。

但正如你所见,我仍然支持 VB 版本的 Cassini,它并没有消亡或被抛在后面 ,,, :-)

My work is based on Dmitry Robsman's Cassini the 4.0 version of my VB port is based on the latest version i could find at that time on Dmitry's page he knows i made a VB port of his work as he send me an e-mail with CC to Lisa Feigenbaum to thank me for it .

I have never received feedback of annyone with complaints that something did not work , it just suited my needs just how it is ( so no need to work on it ) , i know there was in the past a CassineEX where the EX stood for Extended i downloaded the thing and at first wanted to use that one however it was pretty bloated in my opinion, i jut wanted a simple small and as fast as possible webserver, i did not needed log functions and all the other stuff that was implemented in the EX version .

But as you see i still support the VB version of Cassini it is not dead or left behind ,,, :-)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文