我使用HTTP1.6服务器和它相应的CCTray通过远程连接,但是需要改为使用仪表板连接,这样我就可以开始把URL分发给开发人员了。
将我的仪表板URL放入CCTray:
http://localhost/CruiseControl/server/local/ViewServerReport.aspx返回CCTray的结果
Failed to connect to server: The remote server returned an error: (500) Internal Server Error.如果我检查我的IIS日志,我可以看到请求被转换为发送到此位置的POST,并且日志确认了500响应。
/CruiseControl/server/local/ViewServerReport.aspx/server/localhost/RawXmlMessage.aspx如果我通过GET导航到该URL,我会得到一些Xml,并显示错误"Unable to process error: Root element is missing“。当然,这可能是我做GET而不是POST的产物。
注意:是的,我在URL中使用localhost,因为它目前都包含在一台机器上,如果我可以让它工作,那么我当然会更改为使用更好的主机名。
发布于 2012-08-02 12:07:48
在升级到cc.net 1.8之后解决了这个问题
1)检查服务器名的 dashboard.config
使用fiddler观察请求的执行情况,并观察仪表板服务器名称
http://localhost/CruiseControl/server/yourdomain.com/ViewServerReport.aspx在上面的例子中,它是yourdomain.com
打开您的dashboard.config并确保存在同名的条目
<server name="yourdomain.com" url="tcp://localhost:21234/CruiseManager.rem" allowForceBuild="true" allowStartStopBuild="true" backwardsCompatible="false" />2) 检查IIS请求验证
检查Cruise Control的IIS的应用程序池。如果它是.NET 4.0,那么您的web.config中需要它
<httpRuntime requestValidationMode = "2.0" />该配置位于cc.net 1.8 web.config中,但需要取消注释
3)再试一次,你应该是好的-如果不是观察小提琴手的反应
https://stackoverflow.com/questions/9594074
复制相似问题