我做了一个包管理器update-package
命令来将我们的项目更新为最新的二进制文件.我几乎发布它,因为它通过了所有测试,直到幸运地我发现了一个需要更多调试的问题.
当我突然看到这条异常信息时,我的嘴巴张开了:
已达到"每小时6000次Redis请求"的免费配额限制.请参阅https://servicestack.net以升级到商业许可证.
如果我发布这个网站怎么办?像这样的做法简直令人反感!没有控制台警告或没有任何许可证.这就像是将一个"开源"特洛伊木马传播到你的项目中.
servicestack有什么好的替代品吗?
编辑:阅读所有评论我想我的第一反应有点强烈.Nuget自动从v3更新到v4,虽然我没有发现任何重大变化,但阅读发行说明本来是正确的做法,而不是抨击一个好的产品.话虽这么说,我认为人们会在这个例外上焚烧,因为6000个请求足以通过测试并发布这是灾难性的.
我们正在迁移到Booksleeve,这是由构建StackOverflow本身的人开发的.到目前为止,我们有非常好的经历.
这笔钱不是问题(迁移的成本高于支付许可证的费用),我们这样做是因为我们不想与公司建立业务关系,这样粗略的做法.
(不,我们不接受任何许可或任何事情,我们所做的只是git pull
来自GitHub.)
我与去 StackExchange.Redis这是基于Booksleve通过堆栈交易所乡亲非常高的性能需求.看起来足够好并且活跃的社区.
他们的许可证是MIT,这基本上意味着您只需要将他们的版权和许可证包含在您的产品中.(很公平)
ServiceStack,包括ServiceStack.Redis等软件包,正在成为版本4中的商业支持产品.您可能一直在使用ServiceStack软件包的3.x版,而NuGet决定将您更新为4.x.
免费使用 v4库是有限制的.有关详细信息,请参阅此公告.所有ServiceStack产品的3.x版仍然是开源的; 有一个新的GitHub项目,其中包含有关v3支持的信息.
现在,我建议撤消软件包更新并在NuGet软件包配置文件中将max版本设置为3.x,以便您的NuGet软件包在短期内保留为3.x版本的生产代码:
<package id="ServiceStack.Xyz" version="3.x.x" allowedVersions="[3,4)" />
然后使用NuGet更新您的软件包应该是安全的.
同时,您可以访问https://servicestack.net来评估升级到版本4的选项,许可选择或是否坚持使用v3.