Orleans Documentation

Troubleshooting Deployment

这个页面给出一些在部署到Azure云服务的时候发生的问题的故障检测指导。 这些都是要注意的很常见的问题。无比检查log获取更多信息。

遇到SiloUnavailableException

首先检查确保你在初始化客户端之前一定启动了silo。有时silo会花很长时间启动所以有时候最好多试几次初始化客户端。如果还是出错,可能是silo有什么问题。

检查silo的配置并且确保silo启动了。

常见的连接字串问题

  • 部署到Azure的时候使用本地的连接字串 - 网页会连接失败。
  • silo服务端和前段(web和woker角色)使用了不同的连接字串 - 网页将会初始化失败因为无法连接到silo

连接字串配置可以在Azure Portal检查。如果连接字串没有配置正确log文件可能不会显示。

不正确地修改配置文件

确保ServiceDefinition.csdef文件中配置了正确的终结点,否则部署不能正确工作。会报出不能获取终结点信息的错误。

缺少log

确保已经设置了连接字串。

可能是Web.config文件中的web role或者app.config文件中的worker role没有正确配置。 这些文件中的版本不正确可能导致部署问题。小心处理升级为你。

版本问题

确保解决方案的每个工程中使用了相同版本的Orleans。不这样做会导致woker role回收。检查log获取更多信息。在部署历史中Visual Studio 提供一些silo启动的错误消息。

Role Keeps Recycling

  • 检查确保所有恰当的Orleans程序集在解决方案中并且设置Copy Local为true。
  • 检查log看看是否有初始化过程中没有处理的异常。
  • 确保链接字串正确。
  • 检查 Azure Cloud Services 故障排除页面获取更多信息。

如何检查log

  • 使用Visual Studio中的cloud explorer定位到合适的存储表或者存储账户中的blob。从WADLogsTable开始寻找log不错。

可编程配置: - 当创建一个ClusterConfiguration对象,设置config.Defaults.DefaultTraceLevel = Severity.Info. - 当创建一个ClientConfiguration对象,设置config.DefaultTraceLevel = Severity.Info.

声明式配置: 添加<Tracing DefaultTraceLevel="Info" />OrleansConfiguration.xml和/或ClientConfiguration.xml文件。

在web和worker role的diagnostics.wadcfgx文件中,确保Logs中的scheduledTransferLogLevelFilter属性设置成Information,这是一个用来定义哪些跟踪信息发送到Azure存储的WADLogsTable的跟踪过滤的额外层。

你可以在 Orleans配置向导 中找到更多信息