Her saat başı bir veritabanı içe aktarma işlemi yürüten bir Windows zamanlanmış görevi var, ancak kullanıcıların bir düğmeyi kullanarak program dışı bırakmasını istiyorum bir ASP.net panosu (Windows Server 2003'te IIS6'da çalışır). mükemmel kod arkasındaWindows Zamanlanmış Görevini ASP.net'den Çalıştırma
aşağıdaki işleri ...
var proc = new Process
{
StartInfo =
{
UseShellExecute = false,
FileName = @"C:\Windows\System32\schtasks.exe",
Arguments = "/run /tn Loader",
RedirectStandardError = true,
RedirectStandardOutput = true,
CreateNoWindow = true
}
};
proc.Start();
proc.WaitForExit();
... uygulama havuzu kimliği Yerel Sistemi (ideal değil!) olarak ayarlanmış ama sadece. Ağ Hizmeti olarak bırakırsam, görev başlamıyor. Yani muhtemelen bir izin sorunu.
ASP.net, uygulamayı Yerel Sistem olarak çalıştırmadan sunucudaki zamanlanmış bir görevi başlatabilir mi? Değilse, hangi iyi alternatifler var?
Güncelleme: kimse üzerine SO biliyorsa, ben bu yüzden (bir denetim günlüğü olarak iki katına) bir veritabanı tablosuna benim web uygulama yazma isteklerini olma fikirle gidip ikinci bir görev oluşturma olacaktır mümkün değildir tahmin Bu masayı sorgulamak ve ana görevi başlatmak için.
Neden bu görevin web sunucunuzda arayacağını sormuyorsunuz? Neden görevi yürütmek istiyorsun, görevin hedefi değil? – Kousha
İyi soru. 1 Belirli bir kullanıcı olarak çalıştırmaya ihtiyacım var ve 2 Saat zamanlanmış görevle aynı anda çalıştırılmamalı, Windows Zamanlayıcısı görev el ile başlatılmışsa uygun şekilde başlamıyor. Yine de bu, ayrıntılı olarak araştırdığım bir seçenek değil. – Chris