This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

What is the vault application life cycle?

Looking for an explanaing equivalent to the ASP.NET page life cycle @ https://learn.microsoft.com/en-us/previous-versions/aspnet/ms178472(v=vs.100)

This will help me know when it's safe to do things like access the PermanentVault and Configuration properties.

E.x.: What are are the methods such as the ones below called

  • StartApplication
  • InitializeAdminConfigurations
  • UninitializeApplication
  • InitializeApplication
  • Initialize
  • InitializeAdminConfigurations
  • Uninitialize
  • OnConfigurationUpdated
  • ValidateConfigurationAttributes
Parents Reply Children
  • Hi Craig.

    We want to log suff using AddCustomEventEntry as well as access the values in the Configuratton object after they're loaded and don't know when it's safe to do each one.

  • Hi I think I can access the config in IniailizeApplicaton and I can access the vault in StartApplication

    I overrode most of the methods and this seems to be the order of events. ctor is the VaultApplication constructor.

    INSTALL

    1. ctor
    2. Install
    3. Install => InstallApplication

    RESTART

    1. ctor
    2. Intialize(Vault)
    3. Intialize(Vault) => UninitializeImpl(Value)
    4. Intialize(Vault) => PopulateConfigurationObjects(Value)
    5. Intialize(Vault) => PopulateConfigurationObjectsAndValidate(Value)
    6. Intialize(Vault) => PopulateConfigurationObjectsAndValidate(Value) => ValidateMetadataStructure(Vault)
    7. Intialize(Vault) => InitializeImpl(Vault)
    8. Intialize(Vault) => InitializeApplication(Vault)
    9. Run(ScriptEnvironment) => AssertApplicationInStableState(EnvironmentBase)
    10. StartOperations(Vault)
    11. StartOperations(Vault) => InitializeAvailabilityGroupStatusWriter(Vault)
    12. StartOperations(Vault) => StartApplication()

     

    UNINSTALL

    1. ctor
    2. Uninstall(Vault)
    3. Uninstall(Vault) => UninstallApplication(Vault)