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
  • We don't have a specific page, although it sounds like something we could create.  Some of those methods actually call each other (e.g. Unitialize calls UninitializeApplication).

    Do you have any specific issue that caused this query?

  • 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)