Conversation
There was a problem hiding this comment.
Условия прохождения теста слишком широкие, т.к. в нем нет ни одного утверждения.
|
После обновления пакетов приложение не запускается с ошибкой: |
|
Странно у меня после обновления пакетов ошибки не возникало, попробую переклонировать репозиторий |
1. Добавил пагинацию для метода возвращающего все каунтеры 2. Добавил блокировку на создание нового каунтера. Уйти от 2 запросов к БД не получилось. Проблему многопоточного доступа решил в коде сервиса
|
Поправил замечания. Проблема с компиляцией не смоделировалась. Переклонировал реп, сделал резолв зависисмостей, все собралось без ошибок. |
There was a problem hiding this comment.
Тест выполняет два обновления счетчика. Один за другим. В одном или разных потоках.
Уборка кода в try/catch приводит к потере стека в сообщениях NUnit.
Здесь надо добавить проверку, что номер ревизии увеличился на 2, т.к. просто отсутствие исключения не говорит о том что код делает, то что должен.
Кстати, имя счетчика каждый раз можно генерить новое (GUID) и быть всегда уверенным, что это отсутствующий счетчик без зачистки БД.
|
Проблем с компиляцией нет. Проблемы с запуском приложения. Чтобы все загрузилось требуется добавить еще 3 редиректа:
|
There was a problem hiding this comment.
А если... клиент укажет pageSize = 2147483647 ?
|
Напоминаю - до понедельника ожидаю получить исправления. |
…ьтата. Количество потоков можно изменять константой
1. Сначала пробуем обновить с выключенным IsUpsert. Если приходит null значит записи с таким именем еще нет 2. Пытаемся вставить ее, если получилось возвращаем 0 3. Если при вставке произошла ошибка, то значит мы не успели вставить, запускаем опять обновление
…nject.Web.WebApi.OwinHost, Ninject.Web.Common.OwinHost), он собран со старыми версиями пакетов System.Web.Http.Owin 5.0.0.0, System.Web.Http 5.0.0.0, Microsoft.Owin Microsoft.Owin 3.0.0.0. Поэтому что бы не было биндинг редиректов эти пакеты не должны быть выше 5.0.0 версии. Так же после этого появилась проблема с 6 версий Newtonsoft.Json. System.Net.Http.Formatting и System.Web.Http собраны под 4,5 версию. В итоге Newtonsoft.Json должна быть не выше 4.5. Сборка, тесты и запуск проходят успешно
…аботающих потоков, один из которых выполняет роль таймаута. Таймаут установил в 30 сек. Можно его вынести в параметры метода, но тогда можно будет опять сформировать запрос который приведёт к длительному выполнению метода. После окончания работы одного из потоков, посылается команда на отмену оставшегося.
…n для iis. И снова появился биндинг редирект из за старых сборок Ninject
…лась раньше всего, сделал ее в статическом конструкторе. Таким образом удалось обновить все пакеты nuget до последней версии, кроме одного - System.Web.Http. При его резолве через код падает конструктор StandardKernel В итоге все пакеты обновлены до последнего и остался один биндинг редирект
There was a problem hiding this comment.
Напрасно усложненный код. Должно быть так:
taskList.Add(_controller.Bumping(revName));
There was a problem hiding this comment.
Блокирующее ожидание в асинхронном методе.
В данном случае, если поток сюда доберется, то он тут зависнет.
Почему?
Сделал 3 комита: