出于好奇,我打开了我的Azure Web角色项目,导航到包含RoleEntryPoint
后代类的文件,完全删除了该类定义。然后我打包角色并将其部署在Azure中 - 角色启动时没有任何错误指示。
怎么可能有效呢?
答案 0 :(得分:4)
除了DarwkwingDuck所说的,我还要提到RoleEntryPoint提供在初始化,运行和停止角色实例时运行代码的方法。
如果我们继续阅读RoleEntryPoint class documentation on MSDN,我们还会看到以下内容:
辅助角色必须扩展RoleEntryPoint类以添加功能 到角色实例。 Web角色可以选择扩展 RoleEntryPoint类,或者可以使用ASP.NET生命周期管理 处理启动和停止序列的方法。对于VM角色,Windows 使用服务而不是RoleEntryPoint类。
因此, Web角色可以选择扩展RoleEntryPoint类。
答案 1 :(得分:3)
无论您是否从中继承,RoleEntryPoint都存在于您的部署中。请注意,该类中的所有方法都会覆盖基类实现。如果您不继承RoleEntryPoint,那么将执行这些基类实现。
这也使得将旧版应用程序更轻松地引入Azure - 只需将现有的Web应用程序作为角色添加到云项目中,即可离开。