我有一个有效的WCF服务和辅助角色,我一直在Azure Development Fabric上进行本地调试。一切都很顺利,但现在我正试图在暂存环境中将其部署到云中,我看到了一些奇怪的问题。
我已经阅读了一些关于Initialize的文章 - >忙 - >停止循环,但这不是我所看到的行为。事实上,当我尝试使用IntelliTrace时,我无法访问该服务的任何日志,因为它永远不会进入无响应状态。我能够访问成功加载的辅助角色的日志。
如果我看不到任何日志或附加调试器以确定发生了什么,我该如何解决此问题?同样,这项服务在我的本地环境中运行得非常好。
在有人建议之前,我已经做了以下事情:
DiagnosticsConnectionString
并确保其已连接到我的存储帐户如果Azure暴露某种控制台以便我能看到正在发生的事情,那肯定会很棒。
答案 0 :(得分:1)
今年晚些时候,您将能够使用远程桌面连接并查看正在发生的事情。
目前,您可以联系支持部门,他们应该可以提供帮助。
通常,“忙”是您在OnStart()中执行代码时所处的状态。您的OnStart()实现是否有可能不返回? (或者也许是一些构造函数?)
答案 1 :(得分:1)
根据我的经验,当Azure开始在制作中播放黑盒时,这是由配置问题引起的。其中一个可能的原因 - 配置部分在本地计算机上被识别,但在Windows Azure Guest OS上不可用。
在这种情况下,您的角色甚至没有机会向IntelliTrace或任何记录器(它没有加载)说些什么。
例如,如果您在web.config中有uri config部分,那么它可能在本地工作,但会导致Azure冻结生产中的Web部署。修复(在这种情况下):
在配置/配置中添加以下行:
<section name="uri" type="System.Configuration.UriSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
您的情况可能有所不同。只需查看任何不常见的配置或案例,您正在运行的Azure Guest OS可能不知道架构。
答案 2 :(得分:0)
我遇到了同样的问题,最后以一个空白项目开始。让它在云中运行。添加了几行,部署。
最终(在10次部署之后......你知道需要多长时间???)我让它工作了......原因在于配置文件。我没有把它追溯到一行。
正如smarx建议的那样,联系支持是正确的做法。