
Я превратил Slack в интерактивную консоль для работающего .NET-приложения
maybe_elf 3 минуты назад Я превратил Slack в интерактивную консоль для работающего .NET-приложения 5 мин 2 .NET * Текстовые редакторы и IDE * C# * Программирование * Тестирование веб-сервисов * Перевод Автор оригинала:...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Значимый прорыв формирует отрасль ИИ: maybe_elf 3 минуты назад Я превратил Slack в интерактивную консоль для работающего . NET-приложения 5 мин 2 . NET * Текстовые редакторы и IDE * C# * Программирование * Тестирование веб-сервисов * Перевод Автор оригинала: Michael Ikechi Автор объясняет, как он использовал скрипты Roslyn и режим сокетов Slack для проверки, отладки и взаимодействия с запущенным приложением.
ПроблемаЯ использую Mykeels. CSharpRepl уже несколько лет для отладки своих . Он предоставляет мне REPL на C# с полным доступом к интерактивному выполнению кода приложения подобно окну Immediate в Visual Studio, за исключением того, что он не привязан к точкам останова отладчика или IDE.
Технические детали
Для моих приложений это фактически создаёт ещё одну точку входа. Я могу просто запустить:. exe replи начать интерактивное выполнение кода приложения.
При этом, когда оно уже запущено на сервере, я могу подключиться к машине по SSH и запустить REPL, но это запускает другой процесс. Он имеет доступ к тем же сборкам и конфигурации, но это не запущенное приложение. У запущенного процесса есть состояние, которого нет у нового процесса.
Оно включает кэши в оперативной памяти, синглтон-сервисы, активные фоновые обработчики, открытые соединения и тот же контекст выполнения. Именно он привёл к ошибке, которую я пытаюсь исследовать. Мне нужен был REPL внутри самого работающего приложения.
Отраслевые последствия
ИдеяНесколько недель назад при создании симулятора инцидентов я решил использовать Slack в качестве основного интерфейса. Вместо того, чтобы предоставлять HTTP-конечные точки или создавать собственную панель мониторинга, приложение полностью взаимодействовало через Slack, используя режим сокетов. Это означало, что у работающего процесса уже был постоянный двусторонний канал связи.
Если моё приложение может получать сообщения через Slack……почему эти сообщения не могут быть написаны на C#? Что ещё важнее, почему они не могут выполняться внутри собственного процесса приложения? В этот момент Slack перестал быть интересной частью задачи.
Он стал не более чем транспортным уровнем для Mykeels. Цель заключалась в том, чтобы предоставить работающему . NET-приложению интерактивную консоль, доступную из Slack.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.





