C# 从global.asax.cs文件中的控制器调用计时器上的函数

C# 从global.asax.cs文件中的控制器调用计时器上的函数,c#,asp.net,.net,timertask,C#,Asp.net,.net,Timertask,我是C#编程新手,不知道如何触发每小时执行的函数 该功能位于我的一个控制器中 我在互联网上找到的唯一方法是从Global.asax.cs文件调用它,但它不起作用 谁能帮我一下吗 来电者 公共类WebAPI应用程序:System.Web.HttpApplication { 专用静态定时器; 受保护的无效应用程序\u Start() { //RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); Filter

我是C#编程新手,不知道如何触发每小时执行的函数

该功能位于我的一个控制器中

我在互联网上找到的唯一方法是从
Global.asax.cs
文件调用它,但它不起作用

谁能帮我一下吗

来电者
公共类WebAPI应用程序:System.Web.HttpApplication
{
专用静态定时器;
受保护的无效应用程序\u Start()
{
//RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
//WebApiConfig.Register(GlobalConfiguration.Configuration);
定时器=新系统定时器定时器定时器(10000);
var SSSData=新的SSSData();
timer.appeased+=新的ElapsedEventHandler(重定向到操作(“DoPushSend”、“通知”),新
{
dataSSS=SSSData
}));
定时器间隔=3600000;
timer.Enabled=true;
}
}
被叫人
publicstaticvoiddopushsend(sssdatadatasss)
{
client.BaseAddress=新Uri(“sample.com/3/”;
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(新的MediaTypeWithQualityHeaderValue(“应用程序/json”);
尝试
{
字符串url=“sample.com/device/”;
WebClient客户端=新的WebClient();
字符串内容=client.DownloadString(url);
List Expotokes=JsonConvert.DeserializeObject(内容);
var expoSDKClient=new PushApiClient();
var pushTicketReq=新的PushTicketRequest()
{
PushTo=expoTokens,
PushBadgeCount=7,
PushBody=dataSSS.DESCRIPTION+“[]”dataSSS.LAT+“[]”dataSSS.LON+“[]”dataSSS.MAXRADIUS
};
int nowTimeTo=DateTime.Compare(DateTime.Now,dataSSS.TIMETO);
int nowTimeFrom=DateTime.Compare(DateTime.Now,dataSSS.TIMEFROM);
如果(nowTimeFrom>=0)
{

if(nowTimeTo)。虽然如果你想绝对确保每小时执行一次任务,那么就使用windows服务。我需要通过代码来实现它,不幸的是,我认为你在timer_tick事件中调用了DoPushSend函数:我应该如何在代码中实现它?