• Basics
  • Abyss
  • Web APIs
  • C# & Razor
  • .net API
  • JS & TS API

    Show / Hide Table of Contents

    Class AppRoot

    The App Root is the entry point for all data. It takes it's data from a hidden AppState Cache. It's implemented as a DataSource so that other DataSources can easily attach to it.
    This is also the object returned as the root in any query.

    Inheritance
    System.Object
    ToSic.Lib.Services.ServiceBase
    ToSic.Lib.Services.ServiceBase<ToSic.Eav.DataSource.DataSourceBase.MyServices>
    DataSourceBase
    AppRoot
    Implements
    IAppRoot
    IDataSource
    IDataSourceLinkable
    IAppIdentity
    IZoneIdentity
    IAppIdentityLight
    ICacheKey
    ICacheExpiring
    ITimestamped
    IHasLog
    Inherited Members
    DataSourceBase.AppId
    DataSourceBase.ZoneId
    DataSourceBase.Guid
    DataSourceBase.Error
    DataSourceBase.Configuration
    DataSourceBase.In
    DataSourceBase.TryGetIn(String)
    DataSourceBase.TryGetOut(String)
    DataSourceBase.Out
    DataSourceBase.Item[String]
    DataSourceBase.GetStream(String, String, Boolean, Boolean)
    DataSourceBase.List
    DataSourceBase.Attach(IDataSource)
    DataSourceBase.Attach(String, IDataSource, String)
    DataSourceBase.Attach(String, IDataStream)
    DataSourceBase.ProvideOut(Func<IEnumerable<IEntity>>, String)
    DataSourceBase.ProvideOut(Func<IImmutableList<IEntity>>, String)
    Namespace: ToSic.Eav.DataSources
    Assembly: ToSic.Eav.DataSources.dll
    Syntax
    [InternalApi_DoNotUse_MayChangeWithoutNotice("this is just fyi")]
    public class AppRoot : DataSourceBase, IAppIdentitySync, IAppRoot, IDataSource, IDataSourceLinkable, IAppIdentity, IZoneIdentity, IAppIdentityLight, ICacheInfo, ICacheKey, ICacheExpiring, ITimestamped, ICanPurgeListCache, IHasLog, IDataTarget

    Properties

    | Improve this Doc View Source

    CacheFullKey

    Combination of the current key and all keys of upstream cached items, to create a long unique key for this context.

    Declaration
    public override string CacheFullKey { get; }
    Property Value
    Type Description
    System.String

    Full key containing own partial key and upstream keys.

    Overrides
    ToSic.Eav.DataSource.DataSourceBase.CacheFullKey
    | Improve this Doc View Source

    CacheTimestamp

    System time-stamp of when the data in this cached thing was initialized or updated. Depending on the implementation, this may go up-stream and return an up-stream value.

    Declaration
    public override long CacheTimestamp { get; }
    Property Value
    Type Description
    System.Int64

    A timestamp as a long number

    Overrides
    DataSourceBase.CacheTimestamp
    | Improve this Doc View Source

    Link

    Declaration
    public override IDataSourceLink Link { get; }
    Property Value
    Type Description
    IDataSourceLink
    Overrides
    DataSourceBase.Link

    Methods

    | Improve this Doc View Source

    CacheChanged(Int64)

    Detect if the cache has newer data. It's called using the TimeStamp of the dependent object which may still have old data.

    Declaration
    public override bool CacheChanged(long dependentTimeStamp)
    Parameters
    Type Name Description
    System.Int64 dependentTimeStamp

    New time stamp of a dependent object, which could have an older timestamp.

    Returns
    Type Description
    System.Boolean

    True if the timestamps differ, false if it's the same

    Overrides
    DataSourceBase.CacheChanged(Int64)
    Remarks

    This is implemented in each object, because sometimes it compares its own timestamp, sometimes that of another underlying object.

    Implements

    IAppRoot
    IDataSource
    IDataSourceLinkable
    IAppIdentity
    IZoneIdentity
    IAppIdentityLight
    ICacheKey
    ICacheExpiring
    ITimestamped
    IHasLog
    • Improve this Doc
    • View Source
    Back to top Generated by DocFX