将我的.NET服务器和客户端项目升级到4.0 RC后 我得到NullReference异常,因为我的自定义State对象为null。 我在OnOpen事件处理程序中实例化state属性,但在第一次调用的方法体内,它已经为null。
我已经检查过调试器并看到this.GetHashCode()返回不同的值 在OnOpen事件处理程序和方法中,这意味着它是一个不同的实例。
这是一个已知问题吗?我认为这是非常基本的行为,可能在升级到新版本时我遗漏了一些东西。
提前致谢。
答案 0 :(得分:2)
我设法理解了这个问题。使用PluginAlias时会发生这种情况。 [XSocketMetadata(PluginAlias = 当删除属性并且客户端使用完整控制器名称时,一切都按预期工作 和GetHashCode返回相同的id。
我将复制代码推送到GitHub: https://github.com/amichel/PlayWithXSockets/tree/ReproduceBugs
答案 1 :(得分:1)
使用别名时有一个错误(正如您所知)。 解决方法是要么使用控制器的类名,要么只在较低的外壳中使用别名。
在你的情况下使用
[XSocketMetadata(PluginAlias = "test")]
会起作用。
此致 Uffe