Введение задержек на базе данных sql server для тестирования тайм-аутов в API - PullRequest
0 голосов
/ 16 октября 2018

У меня есть приложение IIS, которое размещено на виртуальной машине Windows, которая выполняет запросы на локальном сервере SQL.В целях тестирования тайм-аутов и нескольких других изменений конфигурации я хочу иметь возможность имитировать задержку всякий раз, когда IIS выполняет запрос к БД.Я немного исследовал это и обнаружил следующее:

https://dba.stackexchange.com/questions/144591/need-to-intentionally-create-blocking-processes-for-testing.

Однако это не работает, поскольку я не вижу эффективной задержки в ответе API.Обратите внимание, что я выполняю запрос, упомянутый в ссылке выше, через локальную систему SSMS в виртуальной машине.

Выполнено запросов:

Окно 1:

BEGIN TRANSACTION
    SELECT * FROM TestAudit.dbo.TestAT WITH (TABLOCKX, HOLDLOCK)
        WAITFOR DELAY '00:00:30'
ROLLBACK TRANSACTION 

Окно 2:

SELECT TestTId, 
       TestAId, 
       TestST, 
       TestO, 
       TestRC, 
       TestSD 
FROM   TestAudit.dbo.TestAT
WHERE  ( 
              ServerTimestamp >= '2018-10-16 01:48:21.344' 
       AND    ServerTimestamp <= '2018-10-16 01:48:22.344') 
AND    TestAId = '2000093309' 
AND    TestO IN ('A', 'B') 
AND    ( 
              ClientName <> 'Test.Admin' 
       AND    ClientName NOT LIKE '%TestIgnore%');

Ожидается задержка при выполнении второго запроса, учитывая, что первый был выполнен в другом окне.Но не испытывайте никаких задержек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...