Недавно я долго и мучительно переходил с .NET Core 1.x на 2.0. Возможно, расскажу об этом позже. Признаться, об этом лучше рассказывать в удобном кресле психоаналитика :)
Сегодня о более прозаичном. В нашей компании мы привыкли использовать TeamCity и NUnit. Для предыдущей версии .NET Core работал пакет “dotnet-test-nunit-teamcity”, для новой аналога не нашлось…
С удовольствием прочитал статью High-performance .NET by example: Filtering bot traffic.
Кстати, к ботам статья почти не имеет отношения, а вот к улучшению производительности — очень даже. В частности,
есть примеры использования BenchmarkDotNet, PerfView, Intel VTune Amplifier, ILSpy, WinDbg и unsafe-кода.
Знаете ли вы, какой будет уровень изоляции, когда вы откроете соединение (для определённости — SqlConnection)? Вопрос с подвохом.
Правильный ответ, как обычно — It depends.
Сегодня про опыт (мой и моих коллег) и впечатления о .NET Core.
На всякий (почти невероятный) случай кратко о том, что это такое.
Microsoft сделал фреймворк для кросcплатформенной разработки. Построил его на немного других принципах — сделал более
гранулированным (говоря попросту — нарезали большие DLL-ки помельче), кое-что ещё поменяли.
В итоге имеем возможность писать более быстрые (в том числе, потому что не тянем лишнего) и компактные кроссплатформенные приложения.
Проверяли под Windows и Linux — вполне работает. Маководов не было рядом :)
Сегодня о TransactionScope, уровне изоляции транзакций Serializable и дырявых абстракциях.
Вообще говоря, я раньше много раз сталкивался с распределёнными транзакциями.
В какой-то момент я окончательно сформировал своё мнение по этой теме. Получилось что-то вроде: “хватит, я не буду их использовать вообще, разве что в ход со стороны оппонента пойдут огнестрельное оружие и прочие нечестные аргументы”.
По этой причине моё знакомство с TransactionScope
свелось к его использованию в интеграционных тестах (без распределённой составляющей, просто для удобного отката транзакций)
и редким спорам с коллегами. Но сегодня, внезапно…