2010-12-30 12 views
0

Ich habe kleinen asp.net Skript, was als Web-Seite ausgeführt werden konnteasp.net Skript in Task-Scheduler

http://localhost/myscript.aspx

und ich brauche dieses Skript alle 30 Sekunden ausgeführt werden.

Ich arbeite auf Windows Server 2003 mit IIS 6.0 bekam ich Task-Scheduler zur Verfügung, jedoch iexplorer.exe http://localhost/myscript.aspx offenen Browser sogar Putting JavaScript windows.close() innerhalb Seite starten, so in wenigen Minuten werde ich auch haben viele Browser geöffnet

, wie es ähnlich wie Unix Lynx laufen http://localhost/myscript.aspx> null

Antwort

1

installieren PowerShell dann können Sie eine Aufgabe erstellen, die den folgenden Befehl ausführt:

powershell.exe -c (new-object system.net.webclient).downloadstring('http://localhost/myscript.aspx') 
+0

Ich kann nichts installieren, daher ist PowerShell keine Lösung, ich kann nur Taskplaner verwenden Führen Sie diese Seite - Frage ist wie – bensiu

+0

Es ist ein Webhost oder etwas? Es spielt keine Rolle, wo PowerShell installiert ist, solange es eine Anfrage an den Webserver senden kann. Die Quintessenz ist, dass Sie etwas irgendwo installieren können, denn soweit ich weiß, gibt es kein integriertes Befehlszeilendienstprogramm für HTTP-Anforderungen in Windows 2003. – Josh

+0

@bensiu: PowerShell ist möglicherweise bereits installiert. Außerdem kann WScript bereits installiert sein - Sie können eine JavaScript- (oder VBScript-) Datei schreiben und sie über den Task-Manager ausführen lassen. Siehe http://www.asp101.com/articles/john/schedule/default.asp –

0

ich würde stattdessen einen Hintergrund-Thread in dem Application_Start Ereignisse beginnen und dann ein Timer-Objekt verwenden sie die Aktion alle 30 Sekunden in diesem Hintergrundthread zu triggern .

+0

Sie noch gotta haben etwas, um die Seite, um Ihr Interesse an den Arbeitsprozess zu starten. Außerdem ist es nicht wirklich eine gute Idee, Hintergrundthreads in ASP.NET-Anwendungen zu erstellen, die Ihre Optionen für die Skalierung einschränken. – Josh

+0

Nein, da ich den Thread im Application_Start-Ereignis starte und von dort aus auf den Thread selbst ist. Alles was ich brauche, ist ein Auslöser für das Application_Start-Ereignis. – Chandu

+0

IIS kann und wird Ihren Worker-Prozess aus einer Vielzahl von Gründen beenden, einschließlich, aber nicht beschränkt auf Leerlaufzeit, Speicherverbrauch, langsame Antwortzeiten usw. Sie können nicht sicher sein, dass die Anwendung überhaupt ausgeführt wird, es sei denn, sie verarbeitet eine Anfrage. – Josh

-1

Ihre vbs-Datei speichern,

Set WshShell = WScript.CreateObject ("WScript.Shell") WshShell. Run "iexplore Ihre url", 9

WScript.Sleep 20000 'Gib also einige Zeit

laden' Schließen Sie den Browser

WshShell.SendKeys "% F"

WshShell.SendKeys "C"