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

时间:2015-06-27 23:35:55

标签: c# azure dependency-injection azure-worker-roles

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

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

1 个答案:

答案 0 :(得分:5)

OnStart()RoleEntryPoint类的成员,以及需要覆盖的方法)仅在角色实例生命周期中调用一次。返回true然后调用Run()。返回false并回收角色实例(重新启动)。

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

FYI Here's more info关于角色生命周期。