Какой самый простой способ запускать фоновые задачи в .NET?
Фоновые задачи — это процессы или операции, которые выполняются независимо от основного потока выполнения программы или приложения.
Обычно такие задачи работают в фоновом режиме, без прямого взаимодействия с пользователем, и могут выполнять различные функции, такие как:
🟡 Уведомления
🟡 Периодические задачи
🟡 Планировщики
🟡 Обработка сообщений
🟡 Асинхронная обработка
🟡 Обработка данных в реальном времени
Для реализации этого в .NET можно использовать интерфейс IHostedService.
Он включает два метода:
🟡 StartAsync
🟡 StopAsync
Вы можете добавить в него необходимые действия. Всё, что нужно сделать, — зарегистрировать эту службу в файле программы, и всё готово.
Для простых фоновых задач этого достаточно. Для более сложных сценариев вы можете использовать следующие NuGet-пакеты:
🟡 Hangfire
🟡 Quartz
👉 @KodBlog | #ресурсы
Фоновые задачи — это процессы или операции, которые выполняются независимо от основного потока выполнения программы или приложения.
Обычно такие задачи работают в фоновом режиме, без прямого взаимодействия с пользователем, и могут выполнять различные функции, такие как:
Для реализации этого в .NET можно использовать интерфейс IHostedService.
Он включает два метода:
Вы можете добавить в него необходимые действия. Всё, что нужно сделать, — зарегистрировать эту службу в файле программы, и всё готово.
Для простых фоновых задач этого достаточно. Для более сложных сценариев вы можете использовать следующие NuGet-пакеты:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1🔥1👏1
Media is too big
VIEW IN TELEGRAM
Создайте свое первое приложение C# Windows Forms
В этом пошаговом руководстве вы создадите своё первое приложение Windows Forms на языке C# с использованием Visual Studio. Windows Forms — это графический интерфейс пользователя (GUI), который позволяет создавать настольные приложения с богатым и интерактивным пользовательским интерфейсом.
📲 Cмотреть источник: тут
👉 @KodBlog | #курсы
В этом пошаговом руководстве вы создадите своё первое приложение Windows Forms на языке C# с использованием Visual Studio. Windows Forms — это графический интерфейс пользователя (GUI), который позволяет создавать настольные приложения с богатым и интерактивным пользовательским интерфейсом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🤣9❤4🔥2
Библиотека устойчивости HTTP в .NET предоставляет готовые к использованию каналы устойчивости для отправки HTTP-запросов.
Стандартный канал включает следующие стратегии:
🍩 Ограничение скорости (Rate limiter)
🍩 Общий таймаут запроса (Total request timeout)
🍩 Повторная попытка (Retry)
🍩 Прерыватель цепи (Circuit breaker)
🍩 Таймаут одной попытки (Attempt timeout)
👉 @KodBlog | #ресурсы
Стандартный канал включает следующие стратегии:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥4
Какие существуют способы передачи параметров в REST API?
Существует несколько способов передачи параметров в REST API:
🍩 Параметры запроса (Query Parameters):
- Добавляются в конец URL.
- Видны в URL запроса.
- Пример:
🍩 Заголовки запроса (Request Headers):
- Передаются в HTTP-заголовках.
- Используются для передачи информации, такой как токены аутентификации.
- Пример: Authorization: Bearer token123
🍩 Тело запроса (Request Body):
- Используется для передачи более сложных данных.
- Обычно применяется в запросах POST и PUT.
- Данные передаются в теле запроса в формате JSON или XML.
🍩 Параметры пути/URL (Path/URL Parameters):
- Используются для добавления динамических значений в URL.
- Являются частью пути URL.
- Пример:
👉 @KodBlog | #ресурсы
Существует несколько способов передачи параметров в REST API:
- Добавляются в конец URL.
- Видны в URL запроса.
- Пример:
https://api.example.com/resource?id=123&name=john
- Передаются в HTTP-заголовках.
- Используются для передачи информации, такой как токены аутентификации.
- Пример: Authorization: Bearer token123
- Используется для передачи более сложных данных.
- Обычно применяется в запросах POST и PUT.
- Данные передаются в теле запроса в формате JSON или XML.
- Используются для добавления динамических значений в URL.
- Являются частью пути URL.
- Пример:
https://api.example.com/client/123/department/456/employeesPlease open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥2💯2❤1
Media is too big
VIEW IN TELEGRAM
В нем рассматриваются основы модульного тестирования, включая создание тестов, использование фреймворков и лучшие практики для обеспечения качества кода. Это полезный ресурс для разработчиков, стремящихся улучшить свои навыки тестирования в C#.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🙏2
Свободный открытый деинсталятор приложений для Windows на C# 😊
Он может удалять большое количество приложений с минимальным вмешательством пользователя.
BCU может очищать остатки, обнаруживать потерянные приложения, запускать программы удаления в соответствии с готовыми списками и т. д.
⛓ Ссылка: тык
👉 @KodBlog | #ресурсы
Он может удалять большое количество приложений с минимальным вмешательством пользователя.
BCU может очищать остатки, обнаруживать потерянные приложения, запускать программы удаления в соответствии с готовыми списками и т. д.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍5❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
🤨18👍11❤🔥3
Media is too big
VIEW IN TELEGRAM
LLMUnity — это проект с открытым исходным кодом на С#
Который интегрирует большие языковые модели в движок Unity, позволяя разработчикам создавать интеллектуальных и интерактивных персонажей для игр, обеспечивая более захватывающий игровой опыт.
Этот инструмент построен на основе библиотек llama.cpp и llamafile, поддерживает все основные модели LLM и работает на различных платформах, включая Windows, Linux, macOS и Android.
Программа работает локально, без необходимости подключения к интернету, что гарантирует конфиденциальность данных, и обеспечивает быструю обработку как на CPU, так и на GPU.
Программа доступна для бесплатного использования как для личных, так и для коммерческих целей, а также поддерживается регулярными обновлениями.
👉 @KodBlog | #ресурсы
Который интегрирует большие языковые модели в движок Unity, позволяя разработчикам создавать интеллектуальных и интерактивных персонажей для игр, обеспечивая более захватывающий игровой опыт.
Этот инструмент построен на основе библиотек llama.cpp и llamafile, поддерживает все основные модели LLM и работает на различных платформах, включая Windows, Linux, macOS и Android.
Программа работает локально, без необходимости подключения к интернету, что гарантирует конфиденциальность данных, и обеспечивает быструю обработку как на CPU, так и на GPU.
Программа доступна для бесплатного использования как для личных, так и для коммерческих целей, а также поддерживается регулярными обновлениями.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🎉2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤4🎉2
Media is too big
VIEW IN TELEGRAM
Использование JWT в ASP.Net Core
В видео объясняются основные шаги: настройка библиотеки JwtBearer, создание конфигурации для эмитента, аудитории и ключа, хеширование паролей, добавление зависимостей, генерация токенов, настройка контроллеров и использование Swagger для тестирования. Автор показывает пример использования токена для авторизации и работы с методами API, а также предлагает доступ к исходному коду на Patreon.
📲 Cмотреть источник: тут
👉 @KodBlog | #курсы
В видео объясняются основные шаги: настройка библиотеки JwtBearer, создание конфигурации для эмитента, аудитории и ключа, хеширование паролей, добавление зависимостей, генерация токенов, настройка контроллеров и использование Swagger для тестирования. Автор показывает пример использования токена для авторизации и работы с методами API, а также предлагает доступ к исходному коду на Patreon.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
Это здорово, что ты можешь написать интерфейс, и этого достаточно для интеграции с сторонним API. 😊
Refit — это библиотека для .NET, которая упрощает работу с REST API. Вместо того чтобы вручную писать код для взаимодействия с API, ты просто создаешь интерфейс с нужными методами, и Refit автоматически генерирует код для подключения к API, используя HttpClient.
👉 @KodBlog | #ресурсы
Refit — это библиотека для .NET, которая упрощает работу с REST API. Вместо того чтобы вручную писать код для взаимодействия с API, ты просто создаешь интерфейс с нужными методами, и Refit автоматически генерирует код для подключения к API, используя HttpClient.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍2
Строки подключения, пароли, учетные данные...
Не храните свои секреты в👇
Хотя это удобно, такой подход может представлять угрозу безопасности, если не обработан должным образом.
Azure Key Vault предлагает безопасное управляемое решение для хранения секретов, позволяя хранить конфиденциальные данные вне локальных файлов в защищенной облачной среде.
В .NET 8 интеграция Azure Key Vault с пакетами Azure Extensions и Microsoft Extensions Configuration выполняется очень просто.😕
После настройки мы можем использовать значения из Azure Key Vault через конфигурацию так же, как это делается для
👉 @KodBlog | #ресурсы
Не храните свои секреты в
appsettings.json Хотя это удобно, такой подход может представлять угрозу безопасности, если не обработан должным образом.
Azure Key Vault предлагает безопасное управляемое решение для хранения секретов, позволяя хранить конфиденциальные данные вне локальных файлов в защищенной облачной среде.
В .NET 8 интеграция Azure Key Vault с пакетами Azure Extensions и Microsoft Extensions Configuration выполняется очень просто.
После настройки мы можем использовать значения из Azure Key Vault через конфигурацию так же, как это делается для
appsettings.json.Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤4🔥2
Не замедляйте свои .NET приложения этой распространенной ошибкой!
Вы когда-нибудь использовали
Это работает, но на самом деле это скрытно ухудшает производительность вашего приложения😢
Лучше используйте Any() вместо этого
Почему Any() лучше, чем Count()?
Any() останавливается, как только находит первый элемент.
Count() проверяет каждый элемент, даже если это не нужно.
В EF Core Any() превращается в легкий запрос
Any() не загружает ненужные данные.
☑ Используйте это:
❌ Не используйте это:
Это небольшое изменение, но оно может существенно улучшить производительность!
👉 @KodBlog | #ресурсы
Вы когда-нибудь использовали
сount() > 0, чтобы проверить, есть ли элементы в коллекции? Это работает, но на самом деле это скрытно ухудшает производительность вашего приложения
Лучше используйте Any() вместо этого
Почему Any() лучше, чем Count()?
Any() останавливается, как только находит первый элемент.
Count() проверяет каждый элемент, даже если это не нужно.
В EF Core Any() превращается в легкий запрос
Any() не загружает ненужные данные.
if (items.Any())
{ }
if (items.Count() > 0)
{ }
Это небольшое изменение, но оно может существенно улучшить производительность!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37❤6🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2