【问题标题】:Is ServiceStack v4 beta ready for Mono?ServiceStack v4 beta 准备好迎接 Mono 了吗?
【发布时间】:2013-12-27 13:32:27
【问题描述】:

在将我的解决方案从 v3 转换为 SS v4 之后 - 在 Windows 8 上的 VS 2012 中,我达到了 10 个服务的限制,否则似乎可以工作。但是在 OS X 上,在 Xamarin Studio 中使用 Mono 3.2.5 我得到了一个 stackoverflow 异常。

在堆栈跟踪中,每一行都是:

在 /private/tmp/source/bockbuild-xamarin/profiles/mono-mac-xamarin/build-root/mono-3.2.5/mcs/class/corlib/ 中的 System.Attribute.GetHashCode () [0x00000] System/Attribute.cs:261

任何想法是什么原因造成的?当我切换回我的 v3 分支时,它仍然可以正常工作。

在获得付费许可之前,我很想知道在 Mono 上接受了多少 SS v4 测试。它和 v3 一样兼容吗?我希望 Razor 改进后它会变得更好。

【问题讨论】:

  • 您可以在此处的源代码中看到,属性上的属性可能会导致 StackOverflow 异常:github.com/mono/mono/blob/master/mcs/class/corlib/System/…public override int GetHashCode () { int result = GetType ().GetHashCode (); … }
  • 检查 Mono 源代码表明这是一个在 3.2.5 之后已修复的错误。 (虽然只是看了一下代码,看起来修复会导致溢出异常......)
  • 抱歉,Mono 上的 v4 尚未经过适当测试。在接下来的几个月里,我们会考虑在测试期间对其进行适当的测试。
  • 啊伙计 - 刚刚偶然发现完全相同的问题......希望将我的 macbook 用作我的主要开发盒并放弃所有 Windows 盒子 - 这是唯一让我退缩的东西!
  • 触发这个Mono bug的原因是ServiceStack的AttributeBase覆盖了TypeId,返回了this。 @mythz,我们是否只需要等到 Mono 3.2.5 稳定下来,还是考虑在 AttributeBase 中覆盖 GetHashCode(),或者使用 GUID 作为 TypeID?

标签: mono servicestack


【解决方案1】:

是的,测试版已经准备好了!

检查新的 Pcl 版本!

https://github.com/ServiceStack/ServiceStack/wiki/Release-Notes

谢谢@mythz

【讨论】:

    猜你喜欢
    • 2010-09-06
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多