Комментарии 17
Думаю единственное что меня разочаровало в 2.0 так это то что до сих пор не допилили DirectoryServices.
Обещали в след релизе. Но я думаю затянут как всегда !
0
В .net core повсюду в примерах и книгах пишут код с async/await. Это прям дает мощный прирост скорости или просто модно/молодежно/хайп? (для маленьких и средних сайтов)
0
Core или нет, а неблокирующий вебсервер лучше блокирующего.
0
Можно и не писать, если у вас весь стек обработки запроса синхронный. А вот если асинхронный, то лучше потоку другие запросы пообрабатывать, чем, скажем, на IO у базы сидеть, в ожидании ответа.
0
Не в .net core дело: асинхронный код пишут практически повсеместно начиная с .net 4.5, с момента появления TAP (до этого было мягко говоря неудобно). Писать асинхронный код в вебе — это хорошая практика. Особенно актуально, когда у вас в рамках обработки запроса имеются IO-операции или сложные cpu вычисления. Позволяет не блокировать поток в ожидании ответа от операции, а передать его в пул, чтобы он мог заниматься другими полезными вещами (например обрабатывать другие запросы). Наглядный пример асинхронной обработки: кассир в макдональдсе, он начинает принимать заказ у следующего посетителя, пока предыдущий посетитель ожидает, когда же его заказ будет сформирован и упакован.
Async\await в свою очередь позволяет писать асинхронный код в виде синхронного кода, что облегчает чтение и понимание, ну и отладка гораздо проще.
Async\await в свою очередь позволяет писать асинхронный код в виде синхронного кода, что облегчает чтение и понимание, ну и отладка гораздо проще.
+1
Думаю тут все зависит. Await просто позволяет высвободить тред (пока задача пошла ждать чего-нибуть) для обработки другого запроса, так что теоретически, если нагрузка, т.е. число запросов небольшое, то и прироста никакого. С другой стороны, если у сервера вообще три треда в пуле, которые постоянно грузятся ожиданием ответа, скажем, медленного перфоратора что тот дырку закончил пробивать, то производительность, в смысле скорость отвера на другие запросы, вырастет. Думаю этот вопрос обсуждался триллион раз в инетах, но я не изучал.
0
Если вы про обработку запросов, то вроде и раньше рекомендовали использовать async/await.
0
Entity Framework Core и все же деградирует товарищи
+1
Перерыл весь интернет так не нашел событие на шутдаун. Не подскажите?
0
А нельзя просто в Program.Main
добавить код после вызова .Run()
?
public static void Main(string[] args)
{
BuildWebHost(args).Run();
System.Console.WriteLine("Some code to execute on quit");
}
+1
Скорее всего это не достижимый участок кода. Я так понял Run() занимает поток до конца жизни приложения. Но в конце жизни, потоки могут быть закрыты принудительно. Поэтому и нужно пользоваться предусмотренными функциями. А еще может быть эксепшн до вашего кода…
0
Насчёт "Явное указание файлов является необязательным для добавления их в проект": да, структура проекта стала проще и это хорошо. Плохо теперь, что в папке Migrations (и без того немаленькой) будет в два раза больше файлов.
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Переход с ASP.NET к ASP.NET Core 2.0