/// <summary>
        /// Configures the data protection system to use the <see cref="EphemeralDataProtectionProvider"/>
        /// for data protection services.
        /// </summary>
        /// <param name="builder">The <see cref="IDataProtectionBuilder"/>.</param>
        /// <returns>A reference to the <see cref="IDataProtectionBuilder" /> after this operation has completed.</returns>
        /// <remarks>
        /// If this option is used, payloads protected by the data protection system will
        /// be permanently undecipherable after the application exits.
        /// </remarks>
        public static IDataProtectionBuilder UseEphemeralDataProtectionProvider(this IDataProtectionBuilder builder)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            Use(builder.Services, DataProtectionServiceDescriptors.IDataProtectionProvider_Ephemeral());
            return(builder);
        }
 /// <summary>
 /// Configures the data protection system to use the <see cref="EphemeralDataProtectionProvider"/>
 /// for data protection services.
 /// </summary>
 /// <returns>The 'this' instance.</returns>
 /// <remarks>
 /// If this option is used, payloads protected by the data protection system will
 /// be permanently undecipherable after the application exits.
 /// </remarks>
 public DataProtectionConfiguration UseEphemeralDataProtectionProvider()
 {
     Use(DataProtectionServiceDescriptors.IDataProtectionProvider_Ephemeral());
     return(this);
 }