/// <summary>
    /// 构造一个 <see cref="DrawingExtensionBuilder"/>。
    /// </summary>
    /// <exception cref="ArgumentNullException">
    /// <paramref name="parentBuilder"/> 为空。
    /// </exception>
    /// <param name="parentBuilder">给定的父级 <see cref="IExtensionBuilder"/>。</param>
    public DrawingExtensionBuilder(IExtensionBuilder parentBuilder)
        : base(parentBuilder)
    {
        // Drawers
        ServiceCharacteristics.AddSingleton <ISavingDrawer>();
        ServiceCharacteristics.AddSingleton <IScalingDrawer>();
        ServiceCharacteristics.AddSingleton <IWatermarkDrawer>();

        // Verification
        ServiceCharacteristics.AddScope <ICaptchaGenerator>();
    }
Exemplo n.º 2
0
    /// <summary>
    /// 构造一个 <see cref="DataExtensionBuilder"/>。
    /// </summary>
    /// <exception cref="ArgumentNullException">
    /// <paramref name="parentBuilder"/> 为空。
    /// </exception>
    /// <param name="parentBuilder">给定的父级 <see cref="IExtensionBuilder"/>。</param>
    public DataExtensionBuilder(IExtensionBuilder parentBuilder)
        : base(parentBuilder)
    {
        ServiceCharacteristics.AddSingleton <IIdGeneratorFactory>();
        ServiceCharacteristics.AddSingleton <IAuditingManager>();

        // Accessing
        ServiceCharacteristics.AddScope <IAccessorManager>();
        ServiceCharacteristics.AddScope <IAccessorMigrator>();
        ServiceCharacteristics.AddScope <IAccessorResolver>();

        ServiceCharacteristics.AddScope <IAccessorSeeder>(addImplementationType: true);
        ServiceCharacteristics.AddScope <IAccessorInitializer>();

        // Sharding
        ServiceCharacteristics.AddSingleton <IShardingManager>();

        // Storing
        ServiceCharacteristics.AddScope(typeof(IStore <>));

        // ValueConversion
        ServiceCharacteristics.AddSingleton <IEncryptionConverterFactory>();
    }