Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure Worker角色-仅使用OnStart()与构造函数进行一次初始化_C#_Azure_Dependency Injection_Azure Worker Roles - Fatal编程技术网

C# Azure Worker角色-仅使用OnStart()与构造函数进行一次初始化

C# Azure Worker角色-仅使用OnStart()与构造函数进行一次初始化,c#,azure,dependency-injection,azure-worker-roles,C#,Azure,Dependency Injection,Azure Worker Roles,通过阅读各种文档和博客,听起来OnStart是在角色开始接收流量之前初始化对象和所需内容的地方但我不清楚是否存在可以使用worker角色类的同一实例多次调用OnStart的情况? 例如,我有一个注入容器和一个只应该创建一次的数据库连接。我需要确保角色不能停止并再次启动,将所有当前对象都保留在内存中。在这种情况下,最好使用辅助角色构造函数来初始化对象。OnStart()(角色实例生命周期中只调用一次RoleEntryPoint类的成员和需要重写的方法)。返回true,然后调用Run()。返回fal

通过阅读各种文档和博客,听起来OnStart是在角色开始接收流量之前初始化对象和所需内容的地方但我不清楚是否存在可以使用worker角色类的同一实例多次调用OnStart的情况?

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

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

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


请参考角色生命周期。

谢谢。。。我不清楚当出现错误时,是否可以通过从门户重新启动角色在同一实例上再次调用运行,但这回答了我的问题:)