С помощью пары методов перенесите любой файл на диск, получив мгновенную ссылку для удобного просмотра.
Что важно знать:
• Файл доступа рядом;
• Доступ только нужный;
• Большие файлы делим.
Автоматизируйте рутину и делитесь ссылками моментально, экономя время коллег и клиентов при повторных операциях загрузки.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🔥6👍4😁2👎1
Отслеживаем изменения в папке через FileSystemWatcher — мгновенный отклик без опроса!
Иногда нужно сразу реагировать, когда в каталоге появляется новый файл отчёта или изменяется конфигурация. Вместо бесконечных таймеров используем встроенный наблюдатель файловой системы.
Сначала задаём путь и настраиваем watcher: реагируем на создание и изменение только
Обработчик получает данные об изменении и выводит краткую информацию:
Чтобы консольное приложение не завершилось раньше времени, просто ждём клавишу:
🔥
➡️ C# Ready | #практика
Иногда нужно сразу реагировать, когда в каталоге появляется новый файл отчёта или изменяется конфигурация. Вместо бесконечных таймеров используем встроенный наблюдатель файловой системы.
Сначала задаём путь и настраиваем watcher: реагируем на создание и изменение только
.txt-файлов, подписываемся на события Created и Changed:using System.IO;
string path = @"C:\Watched";
using var watcher = new FileSystemWatcher(path, "*.txt")
{
NotifyFilter = NotifyFilters.FileName | NotifyFilters.LastWrite,
IncludeSubdirectories = false,
// или true — если нужны подпапки
EnableRaisingEvents = true
// запускаем слежение
};
watcher.Created += OnChanged;
watcher.Changed += OnChanged;
Обработчик получает данные об изменении и выводит краткую информацию:
static void OnChanged(object sender, FileSystemEventArgs e)
{
Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] {e.ChangeType}: {e.FullPath}");
}
Чтобы консольное приложение не завершилось раньше времени, просто ждём клавишу:
Console.WriteLine($"👀 Слежение за {path} запущено. Нажмите Enter для выхода…");
Console.ReadLine();🔥
FileSystemWatcher избавляет от циклов опроса: оперативно, без лишних ресурсов и под любые типы файлов.Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥11❤10
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝48🔥16❤9👍5
❤6👍6🔥4
Этот тип фиксирует все значения на этапе создания и исключает любые дальнейшие изменения.
Что важно знать:
• Нельзя менять поля;
• Нет скрытых действий;
• Меньше ошибок в коде.
Используется там, где нужно гарантировать стабильность значений без усложнения архитектуры.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍7❤4
Горячая перезагрузка конфигурации через IOptionsMonitor — мгновенные изменения без рестарта!
Иногда DevOps-ам нужно править лимиты или строки подключения прямо в
Подготавливаем конфиг с
Регистрируем класс настроек и ловим изменения:
🔥 Правьте
➡️ C# Ready | #практика
Иногда DevOps-ам нужно править лимиты или строки подключения прямо в
appsettings.json, а пользователям нельзя прерывать сервис. Подключаем «живую» конфигурацию и реагируем на правки на лету.Подготавливаем конфиг с
reloadOnChange и DI-контейнер:var config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", reloadOnChange: true)
.Build();
var services = new ServiceCollection()
.AddSingleton<IConfiguration>(config)
.Configure<MySettings>(config.GetSection("MySettings"))
.AddSingleton<Worker>()
.BuildServiceProvider();
// запускаем
services.GetRequiredService<Worker>();
Console.ReadLine();
Регистрируем класс настроек и ловим изменения:
public record MySettings(int Limit, string Message);
public class Worker
{
public Worker(IOptionsMonitor<MySettings> opts) =>
opts.OnChange(s =>
Console.WriteLine($"↻ Новый лимит: {s.Limit}, msg: {s.Message}")
);
}
🔥 Правьте
appsettings.json — консоль сразу выводит новые значения: без перезапуска, без таймеров, полностью нативно.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤4👍3
Этот скрипт быстро выводит список работающих программ с их полными путями, заметно упрощая контроль системы.
Что важно знать:
• Запуск от администратора;
• Программа не падает;
• Пустой путь возможен.
Используйте этот приём для регулярной проверки компьютера и своевременного поиска и удаления потенциально нежелательных приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤4🔥4🤝1