Библиотека шарписта | C#, F#, .NET, ASP.NET
Все самое полезное для C#-разработчика в одном канале. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Библиотека шарписта | C#, F#, .NET, ASP.NET
تُعد قناة Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 21 857 مشتركاً، محتلاً المرتبة 6 181 في فئة التكنولوجيات والتطبيقات والمرتبة 30 756 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 21 857 مشتركاً.
بحسب آخر البيانات بتاريخ 19 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -46، وفي آخر 24 ساعة بمقدار -1، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 13.52%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 7.22% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 956 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 578 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 9.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل .net, шарписта, навигация, await, string.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Все самое полезное для C#-разработчика в одном канале.
Как запустить своего ии-агента: https://clc.to/tvpmDQ
По рекламе: @proglib_adv
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 20 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
جوائز السحب
10 اشتراك Telegram Premium لمدة 3 شهر
تاريخ الانتهاء
AsSplitQuery:
dbContext
.Orders
.Include(order => order.LineItems)
.ThenInclude(lineItem => lineItem.Dimensions)
.AsSplitQuery()
.First(order => order.Id == orderId);
В этом случае EF Core сгенерирует следующие SQL-запросы:
SELECT o.*
FROM Orders o
WHERE o.Id = @orderId;
SELECT li.*
FROM LineItems li
JOIN Orders o ON li.OrderId = o.Id
WHERE o.Id = @orderId;
SELECT d.*
FROM LineItemDimensions d
JOIN LineItems li ON d.LineItemId = li.Id
JOIN Orders o ON li.OrderId = o.Id
WHERE o.Id = @orderId;
Для каждого оператора Include у нас есть отдельный SQL-запрос. Преимущество в том, что мы не дублируем данные при извлечении из БД.
📌 Включаем разделение запросов для всех запросов:
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
"CONNECTION_STRING",
o => o.UseQuerySplittingBehavior(
QuerySplittingBehavior.SplitQuery)));
Все создаваемые EF Core запросы будут разделенными. Чтобы вернуться к одному запросу, нужно вызвать метод AsSingleQuery:
dbContext
.Orders
.Include(o => o.LineItems)
.ThenInclude(li => li.Dimensions)
.AsSingleQuery()
.First(o => o.Id == orderId);
💡Важно знать
🔸Не существует гарантии согласованности для нескольких SQL-запросов. Вы можете столкнуться с проблемой, если одновременно с запросом происходит параллельное обновление.
🔸Чтобы смягчить это, вы можете обернуть запросы внутри транзакции, но это приведет только к проблемам с производительностью в других местах.
🔸Каждый запрос требует сетевого обращения. Если задержки при обращении к БД высоки, это может снизить производительность.
#dotnet #aspnet #tip by Milan JovanovicНачните изучение архитектуры ПО с бесплатного открытого урока «Модели взаимодействия или модели хранения данных» от OTUS.
На вебинаре:
- рассмотрим различные типы хранилищ: реляционные базы данных, NoSQL-базы и хранилища файлов;
- узнаем, как выбрать наиболее подходящий тип хранилища для различных сценариев и требований;
- изучим популярные модели CQRS и Event Sourcing.
Занятие пройдёт 20 декабря в 20:00 мск и будет приурочено к старту курса «Software Architect». После урока вы сможете продолжить обучение в рассрочку по специальной цене.
Регистрируйтесь бесплатно прямо сейчас и ставьте событие в календарь, чтобы ничего не пропустить: https://clck.ru/376Nfw
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.rutry-catch в middleware и возвращать ошибку HTTP-ответа.
ASP.NET Core 8 добавляет новую абстракцию IExceptionHandler для управления исключениями. Этот интерфейс имеет только один метод TryHandleAsync, который пытается обработать указанное исключение в рамках ASP.NET Core pipeline. Если исключение можно обработать, метод должен возвращать true, если нет — false. Это позволяет реализовывать кастомную логику обработки исключений для различных сценариев.
⚙️Для добавления реализации IExceptionHandler в пайплайн запросов ASP.NET Core необходимо сделать две вещи:
1. Зарегистрировать сервис IExceptionHandler с помощью DI.
2. Зарегистрировать ExceptionHandlerMiddleware в пайплайне запросов.
builder.Services.AddExceptionHandler<GlobalExceptionHandler>();
builder.Services.AddProblemDetails();
app.UseExceptionHandler();
Можно добавить несколько реализаций IExceptionHandler, и они будут вызываться в порядке регистрации. Это может быть полезно, например, при использовании исключений для управления потоком.
#dotnet #aspnet #tip by Milan Jovanovic
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
