Андрей, ожидающие потоки отправляются в пул потоков, и ожидают там. Их от туда могут взять для выполнения другой работы.
Количество потоков не могут превысить размер пула, т.к. они и достаются из этого самого пула, и помещаются обратно при "ожидании" или окончании задач.
Если вам так интересно как оно там работает, рекомендую книгу - "Оптимизация приложений на платформе .Net" от авторов Саша Голдштейн, Дима Зурбалев, Идо Флатов.
Kifoter, извини, долго не заходил.
Я сам этого не люблю, но нужно читать тексты ошибок.
В данном случае текс ошибки сообщать что нужно сделать что устранить ее - "The variable SelfTransform of NewBehaviourScript has not been assigned. You probably need to assign the SelfTransform variable of the NewBehaviourScript script in the inspector.".
Рус перевод - "Переменная SelfTransform для NewBehaviourScript не была назначена. Возможно, вам нужно назначить переменную SelfTransform сценария NewBehaviourScript в инспекторе.".
Молзв Реках, вот тут второй ответ дает пример кода https://stackoverflow.com/questions/16297302/how-t... Я бы не забивался на имена процессов и место запуска, лучше всего использовать синхронизацию уровня ядра ОС (Mutex), это гарантирует что на одном машине все будет работать ОК.
Дмитрий, В тесте может быть счетчик Count (сколько раз его нужно запустить), и Interval (сколько ждать перед запуском следующего теста, или перед началом текущего). Собирать суммарный Result может композитный тест, и возвращать его после запуска всех своих вложенных тестов.
Тесты можно хранить не только в списке и пробегаться циклом, но и очереди, и доставать их от туда, пока очередь не опустеет.
Толстый Лорри, Магии в примере выше нет. Он работает точно также (или почти точно также) как и получение данных, и затем их удаление.
В SQL профайлере выполнил строку в EF 6.2:
var itemsToDelete = context.Items.Where(i => i.Date <= yesterday);
context.Items.RemoveRange(itemsToDelete);
context.SaveChanges();
В итоге сначала выполнился запрос "Where(i => i.Date <= yesterday)", а уже потом появились команды DELETE, с "Id" элементами которые попали под условие. Т.е. сначала SELECT, потом DELETE. Данные гоняются дважды.
Причем SELECT по моему синхронный, т.к. нет await, а если его добавить, то иллюзии по генерации другой SQL команды уже не будет.
Поэтому и придумали BulkDelete и т.п. в сторонних либах.
EF не может удалить то чего нет, запись в БД остается просто записью, не сущностью, пока ее не запросить и не создать объект в памяти, стейт которого уже отслеживается.
Viktor Ilukhin, mvc 5 Фильтры исключений - https://metanit.com/sharp/mvc5/8.4.php, или возвращать null и в контроллере. Это по желанию.
Но таких мест могут быть десятки, везде проверять на null не очень удобно будет.
И не всегда сервис может вернуть null, может там десятая по вложенности сущность отсутствует или еще что-либо.
Viktor Ilukhin, сервисом кидать not_found_exception если это является исключительной ситуацией, т.е. ошибкой.
Все exceptions ловит фильтр исключений который висит на все API, и преобразует их в формат удобный для API клиентов.
Севису все равно кто его вызвал, тест или API клиент, или еще кто. Он работает так как работает, и описывает это в своем интерфейсе.
Если API клиент хочет HTTP ответ с ошибкой и статус кодом 404, он это получит, фильтр это сделает.
Если API клиент хочет что то другое, он это получит, т.к. контроллер для таких клиентов другой (desktop client, test client).
Ничего повторяться не может, после return возврата нет.
Просто логгирование добавить нужно на время, сохранить все инфу о запросах которые прошли и которые не прошли.
Виталий Рыбченко, что бы не нажимать CTRL+F5 нужно выключить кэширование в debug режиме.
Настройте среду окружения для разработки.
Почитайте - https://metanit.com/sharp/mvc5/
У вас пробелы в базовых вещах (кэширование, зачем и когда использовать минификацию и т.п.), без которых сложно идти дальше.
Максим Васянович, Become a Full-stack .NET Developer в этом уроке с нуля делают проект который работает с БД.
А так просто даже если сделать проект по встроенному шаблону в Visual Studio 2015/2017 ASP.NET MVC +- WEB API - то там сразу готовые страницы сайта и сущности для работы с БД (Прочитать, Добавить, Изменить, Удалить).
Что бы что то сделать и понимать что это, нужно потратить минимум неделю своего времени. И еще несколько на доработку и осознание. Быстрее не бывает, большинство так начинает, и я так начинал.
Вундеркинды возможно за пару дней это сделают, но я таких не видел.
Продавать не собираюсь, а поделиться могу.