首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >角色在重新启动或发布后未运行

角色在重新启动或发布后未运行
EN

Stack Overflow用户
提问于 2014-09-11 17:35:27
回答 1查看 294关注 0票数 1

我有一个天蓝色云服务工作者角色正在运行,只有一个角色实例

worker角色充当TCP服务器,侦听在服务定义文件中配置的端口。

因此,在角色实例运行之后,我的tcp客户端程序能够连接到工作角色。

但是,每当我重新启动角色实例,或者在visual studio中发布一个新版本时,我都会等待重新启动或发布完成,蔚蓝的门户说它正在运行,tcp客户端程序仍然无法连接服务器,但是,如果不做任何事情,大约10分钟后,它修复了自己,tcp客户端能够再次连接。

这10分钟的延迟从何而来?

我认为一旦角色实例的状态开始运行,它就应该再次工作。

首先,我认为这是因为负载平衡器。但是,我在远程的角色实例,并使用命令行netstat -A,端口甚至没有侦听。那么,似乎我的代码对于工作人员角色没有运行吗?

当10分钟后,它是好的连接,我去了远程桌面,并再次使用netstat -A,现在端口正在监听。

那么,在重新启动/发布之后,我必须等待10分钟才能运行我的worker角色代码?

还是我漏掉了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-11 22:31:46

很难说,但下列参考资料应有所帮助:

http://blogs.msdn.com/b/kwill/archive/2011/05/05/windows-azure-role-architecture.aspx。这为您提供了在服务中运行的进程的体系结构。当您的RDP和netstat显示端口没有侦听时,您在进程中看到了什么?WaWorkerHost.exe正在运行吗?

http://blogs.msdn.com/b/kwill/archive/2013/08/09/windows-azure-paas-compute-diagnostics-data.aspx。这将遍历通常用于解决Azure PaaS VM中的问题的所有诊断数据。如果你检查那些日志和事件日志,你会发现在你不能连接的时间和你可以连接的时间之间有什么特别的地方吗?

您可以检查Windows事件日志,查看OnStart()和Run()方法何时启动和停止。如果您看到Run()已经启动,但netstat仍然将端口显示为没有侦听,那么您就知道代码中存在问题,您可能需要逐步使用调试器(您可以设置远程调试器,以便在桌面上使用Visual调试Azure VM - http://blogs.msdn.com/b/cie/archive/2014/01/24/windows-azure-remote-debugging.aspx)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25793749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档