Bilmek istediğin her şeye ulaş

Asp.net ile zamanlanmış işlem nasıl yapabiliriz?

Sistem şu şekilde işleyecek, sağlayıcı her sabah 5'te Ftp üzerinden sunucuya xml dosyası upload edecek ve ben bunu saat 6,7 gibi bu xml dosyasındaki kayıtları db ile senkronize edeceğim. Global.asaxda Application start metodundan bu işlemi yapabilir miyim? Sunucu taraflı işlem yapmam mümkün değil.Düzenle
Çok basit biçimde statik bir timer kullanabilirsiniz. Timer her 24 saatte bir elapse olacak biçimde ayarlayın. Timer elapse bloğunda ise istediğiniz işlemleri gerçekleştirin.

Hatta Global.asax içinde şu kodları kullanabilirsiniz:

private static Timer FileTimer;

protected void Application_Start(object sender, EventArgs e)
{
     RegisterRoutes(RouteTable.Routes);

     FileTimer = new Timer();
     FileTimer.Interval = 1000 * 60 * 60; //Saat başı
     FileTimer.Elapsed += FileTimer_Elapsed;
}

void FileTimer_Elapsed(object sender, ElapsedEventArgs e)
{
     //Her elapse olduğunda saat sabah 06'mı kontrol et
     if (DateTime.Now.Hour != 6) return;

     //Her gün saat 06'da burası işletilir
     HandleXMLFiles();
}

private void HandleXMLFiles()
{
     //XML dosyası işlemleri
}

Umarım faydalı olur.
  • Paylaş
Global.asax dosyası içerisinde bulunan Application_Start eventi ancak application çalıştığında tetiklenecektir. Yani siz application ı çalıştırmadan bir işlem yapmak istiyorsanız sunucu üzerinde bir windows service çalıştırarak yapabilirsiniz. İstediğiniz uygulamayı windows service trigger ile yapabileceğinizi düşünmekteyim :)
  • Paylaş
Sonraki Soru
HESAP OLUŞTUR

İstatistikler

681 Görüntülenme5 Takipçi2 Yanıt

Konu Başlıkları