Azure 工作者角色 - 使用 OnStart() 与构造函数进行一次初始化

Azure Worker Role - Using OnStart() vs. Constructor for Once Only Initialization

通读各种文档和博客,听起来 OnStart 是在您的角色开始接收流量之前初始化您的对象和您需要的东西的地方。 我不清楚是否存在可以使用辅助角色的同一实例多次调用 OnStart 的情况class?

例如,我有一个注入容器和一个只应创建一次的数据库连接。我需要确保角色不能停止并再次启动,将所有当前对象留在内存中。在那种情况下,使用工作者角色构造函数来初始化对象似乎更好。

OnStart()RoleEntryPointclass的成员,需要重写的方法)在角色实例生命周期中只调用一次。 Return true 然后 Run() 被调用。 Return false 并且角色实例被回收(重新启动)。

请记住,在将角色实例添加到负载均衡器之前会调用 OnStart()。这使您有机会在流量开始进入之前进行初始化。

仅供参考 Here's more info 关于角色生命周期。