下面是一個實際案例:
某個項目有一個需求,需要定時去調用別家公司的一個Web 系統的 WebService,把他們系統中的數據導入到我們的系統中。由於是調用 Web 接口,這就無法使用數據庫中的任務計劃實現了。後來想到使用Time 組件,利用Global 中的Application。
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.SessionState; using System.Xml.Linq; namespace MyNet { public class Global : System.Web.HttpApplication { protected void Application_Start(object sender, EventArgs e) { System.Timers.Timer timer1 = new System.Timers.Timer(); timer1.Interval = 30000; // 30000 毫秒 = 30秒 timer1.Elapsed += new System.Timers.ElapsedEventHandler(Time1_Elapsed); timer1.AutoReset = true; timer1.Enabled = true; timer1.Start(); } protected void Session_Start(object sender, EventArgs e) { } protected void Application_BeginRequest(object sender, EventArgs e) { } protected void Application_AuthenticateRequest(object sender, EventArgs e) { } protected void Application_Error(object sender, EventArgs e) { } protected void Session_End(object sender, EventArgs e) { } protected void Application_End(object sender, EventArgs e) { } void Time1_Elapsed(object source, System.Timers.ElapsedEventArgs e) { localhost.MyWebService ws = new localhost.MyWebService(); ws.InsertMyWebService(); } } }
備注:不會受多個用戶使用系統的影響,但必須最少有一個用戶在使用系統,否則定時器程序不會執行。
以上內容介紹了ASP.NET如何定時調用WebService服務的方法,希望對大家的學習有所幫助。