3

背景:我正在调查CCNet 与1.4.4.751.6.7981.1版本的向后兼容性:旧服务器使用较新版本的 CCTray,以及较新服务器使用旧版本 CCTray。

我已经安装了 CCNet 1.4.4.75 并在我的机器上本地运行它。我在这台本地服务器上放了一个项目,可以在 CCTray 1.4.4.75 上按预期查看。

然后我安装了 CCTray 1.6.7981.1 并尝试通过添加服务器来列出这个项目(这样做时勾选“连接到 1.5.0 之前的服务器”)。该项目已列出,并已成功添加到 CCTray 主屏幕,但似乎每次 CCTray 轮询服务器时,它都会断开连接并重新连接,导致在重新连接过程中的几秒钟内出现一个非常明显的灰色 CCTray 图标。

我在 1.4.4.75 版本的 CCTray 上没有这个问题,所以我想知道在 1.6 版本中可能导致这种行为的原因是什么?没有将我的 CCNet 服务器升级到 1.6,我该如何解决这个问题?

任何帮助深表感谢。

〜山姆。

4

2 回答 2

1

问题出在 CruiseControl.NET-1.6.7981.1 中:$\project\Remote\QueueSetSnapshot.cs(59) 和 $\project\Remote\QueueSnapshot.cs(71)。

[OnDeserialized] DataReceived(StreamingContext context) 被注释掉,因此如果服务器是 1.5.0 之前的版本,则没有关于服务器队列的信息。

空指针异常发生在后面:CruiseServerSnapshot.IsQueueSetSnapshotChanged() $\project\Remote\CruiseServerSnapshot.cs,第 73 行

我已经下载了源代码,未注释的 DataReceived(...) 方法,编译和 CCTray 似乎工作正常。

于 2011-12-19T16:57:24.773 回答
0

I've just had the same problem but have managed to resolve it without changing the source code. When adding a build server I selected 'Via the CruiseControl.NET dashboard' instead of 'Connect directly using .NET remoting' and the reconnecting issue has gone.

于 2014-04-07T10:03:03.837 回答