我目前的观点是:
这些,包括我的代码,都不适合生产目的。所有共享的 simpleworker 使用的限制和限制不适用于关键任务(我认为“生产”的意思)流程。其中最重要的是完全无法在 LoopBack 以外的任何 IP 上提供 WCF(不包括 WebHttp 绑定、IIRC)。另一个限制是它们将所有请求作为一个队列提供服务,一次一个,截至今天,所有请求都由运行时处理,包括静态文本和图像文件。这可能会在 CassiniDev 中发生变化(如果资金到位,迟早会发生变化)。在 IIRC 的所有实现中,缓存也几乎不存在。
CassiniDev 是我经常使用的工具,其功能反映了这一点。它支持 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?)s 其他人一样。我很高兴其他人在工作中发现了价值,但是虽然我会在时间允许的情况下尽力而为,但我不能保证对问题和功能的响应时间,也不想产生不恰当的期望。