2017-01-16 17 views
3

Перед ASP.NET Ядра, я использовал для реализации таймеров так:Как реализовать таймер с .NETCoreApp1.1

public class Class1 
{ 
    Timer tm = null; 

    public Class1() 
    { 
     this.tm.Elapsed += new ElapsedEventHandler(Timer_Elapsed); 
     this.tm.AutoReset = true; 
     this.tm = new Timer(60000); 
    } 

    protected void Timer_Elapsed(object sender, ElapsedEventArgs e) 
    { 
     this.tm.Stop(); 

     try 
     { 
      // My business logic here 
     } 
     catch (Exception) 
     { 
      throw; 
     } 
     finally 
     { 
      this.tm.Start(); 
     } 
    } 
} 

У меня такая же потребность на консольное приложение .NETCoreApp1.1 и системы. Таймеры больше не существуют с ASP.NET Core. Я также пытаюсь использовать System.Threading.Timer, но проект больше не строится.

Как я могу реализовать таймер с .NETCoreApp1.1? Есть ли эквивалент System.Timers?

+0

System.Threading.Timer делает поддержку .NET ядра> = 1.1.0 см зависимости [раздел] (https://www.nuget.org/ пакеты/System.Threading.Timer /) – Sanket

+0

@Sanket Это совместимо, но мне пришлось добавить зависимость от Microsoft.NETCore.App в разделе Framework – AdrienTorris

ответ

5

Хорошо, таким образом, чтобы реализовать таймер с .NETCoreApp1.0 или .NETCoreApp1.1, вы должны использовать System.Threading.Timer. Он работает почти как System.Timers, у вас есть все документы здесь: https://msdn.microsoft.com/en-us/library/system.threading.timer(v=vs.110).aspx

Если ваш проект не строить больше после добавления пакета System.Threading.Timer, это потому, что вы должны добавить зависимость к платформа версия Microsoft.NETCore.App в ваши рамки netcoreapp:

{ 
    "version": "1.0.0-*", 
    "buildOptions": { 
    "emitEntryPoint": true 
    }, 

    "dependencies": { 
    "System.Threading.Timer": "4.3.0" 
    }, 

    "frameworks": { 
    "netcoreapp1.1": { 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "type": "platform", 
      "version": "1.1.0" 
     } 
     }, 
     "imports": "dnxcore50" 
    } 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^