2017-01-16 4 views
3

Bevor ASP.NET Core-Implementierung verwendete ich wie die Timer zu implementieren:Wie einen Timer mit .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(); 
     } 
    } 
} 

ich das gleiche Bedürfnis an einer .NETCoreApp1.1 Konsolenanwendung und -System haben. Timer existiert nicht mehr mit ASP.NET Core. Ich versuche auch, System.Threading.Timer zu verwenden, aber das Projekt baut nicht mehr.

Wie kann ich einen Timer mit .NETCoreApp1.1 implementieren? Gibt es ein Äquivalent von System.Timers?

+0

System.Threading.Timer tut Unterstützung .NET Kern> = 1.1.0 siehe Abhängigkeiten [Abschnitt] (https://www.nuget.org/ packages/System.Threading.Timer /) – Sanket

+0

@Sanket Es ist kompatibel, aber ich musste eine Abhängigkeit zu Microsoft.NETCore.App im Framework-Bereich hinzufügen – AdrienTorris

Antwort

5

Ok, also einen Timer mit .NETCoreApp1.0 oder .NETCoreApp1.1 zu implementieren, müssen Sie System.Threading.Timer verwenden. Es funktioniert fast wie System.Timers, können Sie die gesamte Dokumentation haben sich hier: https://msdn.microsoft.com/en-us/library/system.threading.timer(v=vs.110).aspx

Wenn Ihr Projekt nicht mehr nicht bauen nach dem Hinzufügen des System.Threading.Timer Paket, es ist, weil Sie eine Abhängigkeit zu dem hinzufügen haben Plattform-Version von Microsoft.NETCore.App zu Ihrem netcoreapp Rahmen:

{ 
    "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" 
    } 
    } 
}