/// <summary>
        /// Do the dispose.
        /// </summary>
        public void Dispose()
        {
            Server?.Dispose();
            ClientTransient?.Dispose();
            ClientSingleton?.Dispose();
            ClientScoped?.Dispose();

            ClientOverrideTransient?.Dispose();
            ClientOverrideSingleton?.Dispose();
        }
        public async Task CanRegisterAndOverrideSingletonServiceIsPerTenant_WhenUseMultitenancy()
        {
            // Act
            string responseFirstTenant = await ClientOverrideSingleton.GetStringAsync(UrlTenant1).ConfigureAwait(false);

            string responseSecondTenant = await ClientOverrideSingleton.GetStringAsync(UrlTenant2).ConfigureAwait(false);

            // Assert
            string[] col = new[] { responseFirstTenant, responseFirstTenant };
            Assert.All(col, x => Assert.NotNull(x));
            Assert.All(col, x => Assert.NotEqual(string.Empty, x));

            // Begin with tenant1.
            Assert.StartsWith("Tenant 1", responseFirstTenant);

            // Begin with tenant2.
            Assert.StartsWith("Tenant 2", responseSecondTenant);

            Assert.Equal("Tenant 1::ValueSingletonService_Override_Tenant1", responseFirstTenant);
            Assert.Equal("Tenant 2::ValueSingletonService_Override_Tenant2", responseSecondTenant);
        }