• Asp.net Как запустить процесс на фоне?

    AlexanderYudakov
    @AlexanderYudakov
    C#, 1С, Android, TypeScript
    static bool IsLongTaskRunning = false;
    static object Sync = new object();
    
    static void StartLongTask() {
        lock(Sync) {
            if (IsLongTaskRunning) // Предыдущий вызов еще не завершился
                return;
            IsLongTaskRunning = true;
        }
        Task.Run(async () => {
            Debug.WriteLine("Long task started...");
            try
            {
                await Task.Delay(TimeSpan.FromMinutes(2)); // "Длинный метод" из моей "другой библиотеки"
                Debug.WriteLine("Long task done.");
            } catch(Exception ex) {
                Debug.WriteLine("Long task failed: " + ex);
            }
    
            lock(Sync) {
                IsLongTaskRunning = false;
            }
        });
    }
    Ответ написан
    Комментировать
  • Как обучиться модульной разработке?

    @HellWalk
    Почитайте про DDD

    Если коротко отвечать на ваш вопрос
    Как обучиться модульной разработке?

    Эволюционировать как программист, писать код, реализовывать сложные системы, переделывать их, повторять эти операции раз за разом, стараясь каждый раз написать систему так, чтобы она была максимально несвязанной, и в тоже время легко интегрируемой с другими модулями.

    Простого ответа здесь нет. И волшебной палочки тоже.
    Ответ написан
    Комментировать
  • Какой язык для создания программ самый лучший?

    neuotq
    @neuotq
    Прокрастинация
    Советую начать с Haskell и принципов функционального программирования, чтобы потом понять убогость многих популярных нынче языков. Незамутненному разуму, без набитых вредных привычек, будет хорошо таким началом.
    Ответ написан
    4 комментария