Соединения не закроются при использовании Транзакции, которую Развязывают Binding=Explicit; в строке подключения

Вам нужно будет добавить контейнер div, а затем сделать video дочерним, а другой div родным video. Затем используйте относительное позиционирование на родителя и абсолютное на детей. Вот так:

.container
{
    width: 320px;
    height: 240px;
    position: relative;
}
.container video
{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 320px;
    height: 240px;
    z-index: 1 !important;
}
.container .overlay
{
    position: absolute;
    top: 0;
    left: 10px;
    width: 100%;
    z-index: 2;
}
.container .overlay h3
{
    font-size: 1em;
    color: #fff;
    font-weight: bold;
}
<div class="container">
    <video width="320" height="240" controls src="video/flashtrailer.mp4">
        Your browser does not support the video tag.
    </video>
    <div class="overlay">
        <h3>Logo</h3>
    </div>
</div>

5
задан TruckerG 24 November 2008 в 15:22
поделиться

1 ответ

Соединения только, кажется, остаются в пуле и не быть снова использованным в случае, если Вы получаете исключение, точно так же, как пример. При увеличении тайм-аута, соединение будет снова использовано.

Обходное решение к этой проблеме должно очистить пул соединения в случае, если Вы получаете исключение как это:

using (SqlConnection con = new SqlConnection(connectionString))
{
    con.Open();
    try
    {
        Console.WriteLine("Server is {0}", con.ServerVersion);
        Console.WriteLine("Clr is {0}", Environment.Version);
        for (int i = 0; i < 5; i++)
        {
            using (SqlCommand cmd = con.CreateCommand())
            {
                cmd.CommandText = "insert into TXTEST values ( " + i + " )";
                cmd.ExecuteNonQuery();
            }
            Console.WriteLine("Row inserted");
        }
        Thread.Sleep(TimeSpan.FromSeconds(1));
    }
    catch
    {
        SqlConnection.ClearPool(con);
        throw;
    }
}

В большинстве случаев транзакция завершится в тайм-ауте, и все будет великолепно. Когда транзакция на самом деле делает тайм-аут, Вы очищаете пул для чистки грязных соединений, которые не будут снова использованы. Это будет, конечно, влиять на другие соединения в пуле, который не затронут этой проблемой.

Это - ужасное обходное решение, но это, кажется, работает.

3
ответ дан 15 December 2019 в 06:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: