我會用一個Windows Service結合Quartz.net包。
你可以運行任何你想要的和任何時間表。
編輯:從上面的討論中,我收集你的工作將輪詢市場價格(Web請求)將運行每隔幾秒鐘和得到的結果將更新數據庫。
EDIT2:
這將是您的石英工作:
public class FetchAndSaveFinancialData : IJob
{
public void Execute()
{
//web request to get info
//save to db
}
}
那麼你的Windows服務的基類:
public class YourFinancialServiceBase : ServiceBase
{
protected override void OnStart(string[] args)
{
ServiceMain();
base.OnStart(args);
}
protected override void OnStop()
{
base.OnStop();
}
protected void ServiceMain()
{
var scheduler = StdSchedulerFactory.GetDefaultScheduler();
var job = JobBuilder.Create<FetchAndSaveFinancialData>().WithIdentity("Job1", "Group1").Build();
ITrigger trigger = TriggerBuilder.Create().WithIdentity("Trigger1","Group1")
.StartNow()
.WithSimpleSchedule(x=>x
.WithIntervalInSeconds(5)
.RepeatForever()
).Build();
scheduler.ScheduleJob(job,trigger);
scheduler.Start();
}
}
EDIT3:
這一切都取決於你用於訪問數據。如果您打算使用EntityFramework,那麼我會將MVC項目和WindowsService項目保存在引用庫項目的相同解決方案中。庫項目將包含所有模型,並允許您查看是否更改某個組件或某個組件的效果。
另一方面,如果您對數據庫中的存儲過程依賴很多,則上述內容不太相關。您將不得不整合存儲過程中的任何更改。
以我的經驗,我寧願通過許多項目在一個解決方案中進行篩選比試圖找到一個不同的語言,你的應用程序的關鍵部分完全不同的解決方案。
您是否需要使用JSON數據更新數據庫,或者您是否使用客戶端的JSON來簡單地指示服務器定期更新數據庫? –
是的,謝謝Daniel,數據庫將被每隔幾秒從數據提供者請求的JSON中包含的市場價格更新。 希望能回答你的問題。 – user6063812
我有點困惑 - 你的MVC網站實際上是從哪裏接收json請求的REST api?如果不是,你能提供一些關於你如何獲得json的信息嗎?我需要更好地瞭解信息來源以提出解決方案。 –