在将我的.NET服务器和客户端项目升级到4.0RC之后,我会得到NullReference异常,因为我的自定义状态对象为null。我在OnOpen事件处理程序中实例化了state属性,但是在第一个调用的方法主体中,它已经为null。
我已经签入调试器,并看到this.GetHashCode()在OnOpen事件处理程序和方法中返回不同的值,这意味着它是一个不同的实例。
这是一个众所周知的问题吗?我认为这是非常基本的行为,可能我在升级到新版本时遗漏了一些东西。
提前谢谢。
发布于 2014-08-30 12:21:03
当使用别名时,有一个bug (正如您已经发现的)。解决方法是要么使用控制器的类名,要么在小写中只有别名。
在您的情况下,使用
[XSocketMetadata(PluginAlias = "test")]会起作用的。
问候乌夫
发布于 2014-08-29 19:31:37
我设法理解了这个问题。使用PluginAlias时会发生这种情况。[XSocketMetadata(PluginAlias =PluginAlias=当属性被删除,客户端使用完全控制器名称时,一切都按预期工作,GetHashCode返回相同的id )。
我将复制代码推送到GitHub:https://github.com/amichel/PlayWithXSockets/tree/ReproduceBugs
https://stackoverflow.com/questions/25573920
复制相似问题