角色环境。初始化失败
Posted
技术标签:
【中文标题】角色环境。初始化失败【英文标题】:Role environment . FAILED TO INITIALIZE 【发布时间】:2015-08-05 18:30:00 【问题描述】:我有许多 Azure 网站在单实例标准 S2 层上运行(每个站点在它自己的实例上)。这些站点位于不同的区域,它们运行完全不同且独立的代码。我注意到,如果我在我的任何网站上查看 eventlog.xml
文件,我会看到许多 Role environment . FAILED TO INITIALIZE
事件出现。以下是该文件的摘录:
<Event>
<System>
<Provider Name="Windows Azure Runtime 2.5.0.0"/>
<EventID>1013</EventID>
<Level>0</Level>
<Task>0</Task>
<Keywords>Keywords</Keywords>
<TimeCreated SystemTime="2015-05-06T07:07:35Z"/>
<EventRecordID>976923406</EventRecordID>
<Channel>Application</Channel>
<Computer>RD000XXXXXE</Computer>
<Security/>
</System>
<EventData>
<Data>4008</Data>
<Data>w3wp</Data>
<Data>Role environment . INITIALIZING</Data>
</EventData>
</Event>
<Event>
<System>
<Provider Name="Windows Azure Runtime 2.5.0.0"/>
<EventID>1013</EventID>
<Level>0</Level>
<Task>0</Task>
<Keywords>Keywords</Keywords>
<TimeCreated SystemTime="2015-05-06T07:07:36Z"/>
<EventRecordID>976923937</EventRecordID>
<Channel>Application</Channel>
<Computer>RD000XXXXXE</Computer>
<Security/>
</System>
<EventData>
<Data>4008</Data>
<Data>w3wp</Data>
<Data>Role environment . INITIALED RETURNED. HResult=-2147024891</Data>
</EventData>
</Event>
<Event>
<System>
<Provider Name="Windows Azure Runtime 2.5.0.0"/>
<EventID>1015</EventID>
<Level>3</Level>
<Task>0</Task>
<Keywords>Keywords</Keywords>
<TimeCreated SystemTime="2015-05-06T07:07:36Z"/>
<EventRecordID>976924062</EventRecordID>
<Channel>Application</Channel>
<Computer>RD000XXXXXE</Computer>
<Security/>
</System>
<EventData>
<Data>4008</Data>
<Data>w3wp</Data>
<Data>Role environment . FAILED TO INITIALIZE. hr: -2147024891</Data>
</EventData>
</Event>
我还注意到,这些事件与网站的短暂中断(仅一两分钟)同时发生。这些事件似乎是随机的。有时一个小时可以有 20 个事件。其他时候,它可能会持续数天没有任何事件。
我正在尝试了解导致这些事件的原因以及我如何(或是否)可以防止它们。我宁愿根本不让我的网站宕机。我可能可以通过为每个站点设置多个实例来缓解这个问题,但即便如此,我至少希望对这里发生的事情有一个很好的答案。
注意:这些站点部署到 Azure 网站,而不是云服务(即不是 Web 或工作角色)。
【问题讨论】:
您的代码是否以任何方式引用 RoleEnvironment? Azure Web 应用程序(以前称为 Azure 网站)不支持此功能,因此在访问时可能会引发异常。如果您的应用程序没有正确处理该异常(=它没有捕获它),它可能会关闭您的工作进程,这可能会导致您看到的情况(您网站的访问者中断)。 谢谢。是的,我确实看到了对RoleEnvironment
的引用。我希望这就是问题所在。我会调查并告诉你我发现了什么。
@kaques:这解决了你的问题吗?
ping @kaques 你发现了什么?
【参考方案1】:
这些事件是在您在 Web 应用中引用 Azure 诊断时编写的。对于 Web 应用程序,不建议使用此选项。在云服务中使用它是有意义的,但在 Web 应用程序中则不然。 这有时会影响应用程序。
【讨论】:
以上是关于角色环境。初始化失败的主要内容,如果未能解决你的问题,请参考以下文章
懒惰初始化角色集合失败:someEnttiy.otherTitles
LazyInitializationException: 延迟初始化角色集合失败 无法初始化代理 - 没有会话
org.hibernate.LazyInitializationException:懒惰初始化角色集合失败(Hibernate + Spring)