如何使用 .NETCoreApp1.1 实现定时器
How implement a timer with .NETCoreApp1.1
在 ASP.NET Core 之前,我曾经这样实现计时器:
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 控制台应用程序有同样的需求,System.Timers 不再存在 ASP.NET Core。我也尝试使用 System.Threading.Timer 但该项目不再构建。
如何使用 .NETCoreApp1.1 实现计时器?是否有 System.Timers 的等价物?
好的,所以要使用 .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 包后不再构建,那是因为您必须向 [=27= 的平台版本添加依赖项] 到您的 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"
}
}
}
在 ASP.NET Core 之前,我曾经这样实现计时器:
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 控制台应用程序有同样的需求,System.Timers 不再存在 ASP.NET Core。我也尝试使用 System.Threading.Timer 但该项目不再构建。
如何使用 .NETCoreApp1.1 实现计时器?是否有 System.Timers 的等价物?
好的,所以要使用 .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 包后不再构建,那是因为您必须向 [=27= 的平台版本添加依赖项] 到您的 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"
}
}
}