ASP Code in JS Funktion
Sputti
- asp.net
Hallo,
habe folgendes Problem, habe eine JS Funktion in welcher auch ASP Code steht. Ich ruf die JS Funktion mit einem Timeout auf. Doch der ASP Code wird sofort ausgeführt und nur der JS Code(die alert Aufrufe)) wartet auf das Ende des Timeouts.
Kann mir jemand sagen, woran das liegt?
function wait(){
setTimeout("alert('TEST Start')",1000);
<%
set objFs = CreateObject("Scripting.FileSystemObject")
strDay = Day(DATE)
strMonth = Month(DATE)
strYear = Year(DATE)
strHour = Hour(TIME)
zeit = TIME
strDateTest = strYear & "" & strMonth & "" & strDay & "" & strHour
strOkFile = "BAQIMW_" & strDateTest & ".ok"
strErrFile = "BAQIMW_" & strDateTest & ".err"
strTestFile = "BAQIMW_" & strDateTest & ".s0x"
strExistOkFile = Server.MapPath(strOkFile)
set FileOkObject = Server.CreateObject("Scripting.FileSystemObject")
strExistTestFile = Server.MapPath(strTestFile)
set FileTestObject = Server.CreateObject("Scripting.FileSystemObject")
strExistErrFile = Server.MapPath(strErrFile)
set FileErrObject = Server.CreateObject("Scripting.FileSystemObject")
if FileOkObject.FileExists(strExistOkFile) then
elseif (FileTestObject.FileExists(strExistTestFile)) OR (FileErrObject.FileExists(strExistErrFile)) then
newTime = DATEADD("s",1,TIME)
newDay = Day(DATE)
newMonth = Month(DATE)
newYear = Year(DATE)
newHour = Hour(newTime)
newMinute = Minute(newTime)
newSecond = Second(newTime)
newDate = newYear & "" & newMonth & "" & newDay & "" & newHour & "" & newMinute & "" & newSecond
newFile = "BAQIMW_" & newDate & ".sms"
strNeueDatei = Server.MapPath(newFile)
strNewSkript = Server.MapPath("uc5.tmp")
Set newTextStream = objFs.CreateTextFile(strNeueDatei, True)
newTextStream.Write strWriteNameX
newTextStream.Write strWriteVornameX
newTextStream.Write (";Tel:")
newTextStream.Write strWriteTelnrX
newTextStream.Close
Set newTextStream = Nothing
'UC Dateiinhalt
strNewFileName = "FILENAME = " & chr(34) & ""& newFile &"" & chr(34) & ""
strNewBuffer = "SHARE = " & chr(34) & "\AR0BQ05\WEB$\LBS2-BS" & chr(34) & ""
Set objSkript = objFs.CreateTextFile(strNewSkript, True)
objSkript.WriteLine strNewFileName
objSkript.WriteLine strNewBuffer
Set objSkript = Nothing
end if
%>
setTimeout("alert('TEST Ende')",1000);
}
window.setTimeout("wait()",10000);
Hallo,
der Server liefert die Seite an den Client. Natürlich wurde dann bereits der ASP-Code ausgeführt. Den Timeout hat mit dem ASP-Code nicht das geringste zu tun.
MfG
MarkX.
So etwas habe ich mir schon gedacht.
Gibt es deine in ASP keine Möglichkeit einen Timeout einzubauen?
Ich erklär mein Problem mal genauer:
Ich schreibe eine Datei auf einen Server(1). Von diesem Server(1) wird sie auf einen nächsten Server(2) geholt.
Dort wird die Datei bearbeitet und enthält eine neue Endung. Nach ein paar Minuten, wird die Datei mit der neuen Endung, wieder auf den Server(1) geschrieben.
Dann muss ich die Endung überprüfen und entsprechend reagieren.
Nun ist die Frage, ob es irgendwas gibt, um die paar Minuten bis zur Überprüfung der Dateiendung zu überbrücken?
Freu mich über jegliche Tipps!
Hi
Gibt es deine in ASP keine Möglichkeit einen Timeout einzubauen?
Ich habe einmal folgende Funktion dafür geschrieben:
Private Sub Pause(ByVal Seconds)
Dim t
t = timeStamp(Seconds)
Do until timeStamp(0) >= t
Loop
End Sub
Aber vielleicht gibt es auch eine elegantere Lösung.
FG & HTH
Tom2
Hi
Ich bin's nochmals. Vielleicht sollte ich auch meine timeStamp-Funktion postn...
Ich habe einmal folgende Funktion dafür geschrieben:
Private Sub Pause(ByVal Seconds)
Dim t
t = timeStamp(Seconds)
Do until timeStamp(0) >= t
Loop
End Sub
Private Function timeStamp(ByVal Seconds)
timeStamp = Int(Now) + (Timer + Seconds) / 86400
End Function
FG
Tom2
Habe nun mal meine Funktion umgeschrieben, so dass ich vom JS wegkomme.
Function wait()
--Inhalt siehe erste Nachricht.
End function
Kann mit deinen beiden Funktionen nicht so richtig was anfangen.
Mein Ziel ist es nun halt, das die wait() Funktion nach ein paar Minuten aufrufe. Vielleicht kannst mir ja nochmal ein Tipp geben, wie ich das schreibe?
Gruß
Hi
Kann mit deinen beiden Funktionen nicht so richtig was anfangen.
Die eine liefert einen Zeitstempel zurück (timeStamp(n), der um n Sekunden von jetzt verschoben ist.
Die Prozedur Pause(n) läst den VBScript-Interpreter sich n Sekunden im Kreis drehen.
Mein Ziel ist es nun halt, das die wait() Funktion nach ein paar Minuten aufrufe. Vielleicht kannst mir ja nochmal ein Tipp geben, wie ich das schreibe?
Oh, da sehe ich grössere Probleme. Normalerweise läufst du nach 90 Sekunden in das Skript-Timeout. Was willst du denn genau machen? Vielleicht weiss hier jemand eine bessere Lösung.
FG
Tom2
Ich generiere eine Datei auf einen WebServer. Von dort wird sie auf einen SMS Server geholt. Dort wird 3min lang versucht, die Datei zu versenden. Es gibt drei mögliche neue Endungen der Datei.
Nach den 3min. wird die Datei mit neuer Endung wieder auf den WebServer geschrieben. Dann muss ich die Endung überprüfen.
Der folgende Code ist der Teil, welcher die zurückgegebene Datei überprüft. Die Datei wird auf die Endung geprüft und dann entweder neu geschrieben oder die Endung ist in Ordnung.
Dieser Code soll erst nach 3 Minuten ausgeführt werden.
Ich habe allerdings überhaupt keine Idee mehr wie ich das machen soll?!
<%
Function wait()
set objFs = CreateObject("Scripting.FileSystemObject")
strDay = Day(DATE)
strMonth = Month(DATE)
strYear = Year(DATE)
strHour = Hour(TIME)
zeit = TIME
strDateTest = strYear & "" & strMonth & "" & strDay & "" & strHour
strOkFile = "BAQIMW_" & strDateTest & ".ok"
strErrFile = "BAQIMW_" & strDateTest & ".err"
strTestFile = "BAQIMW_" & strDateTest & ".s0x"
strExistOkFile = Server.MapPath(strOkFile)
set FileOkObject = Server.CreateObject("Scripting.FileSystemObject")
strExistTestFile = Server.MapPath(strTestFile)
set FileTestObject = Server.CreateObject("Scripting.FileSystemObject")
strExistErrFile = Server.MapPath(strErrFile)
set FileErrObject = Server.CreateObject("Scripting.FileSystemObject")
if FileOkObject.FileExists(strExistOkFile) then
elseif (FileTestObject.FileExists(strExistTestFile)) OR (FileErrObject.FileExists(strExistErrFile)) then
newTime = DATEADD("s",1,TIME)
newDay = Day(DATE)
newMonth = Month(DATE)
newYear = Year(DATE)
newHour = Hour(newTime)
newMinute = Minute(newTime)
newSecond = Second(newTime)
newDate = newYear & "" & newMonth & "" & newDay & "" & newHour & "" & newMinute & "" & newSecond
newFile = "BAQIMW_" & newDate & ".sms"
strNeueDatei = Server.MapPath(newFile)
strNewSkript = Server.MapPath("uc5.tmp")
Set newTextStream = objFs.CreateTextFile(strNeueDatei, True)
newTextStream.Write strWriteNameX
newTextStream.Write strWriteVornameX
newTextStream.Write (";Tel:")
newTextStream.Write strWriteTelnrX
newTextStream.Close
Set newTextStream = Nothing
'UC Dateiinhalt
strNewFileName = "FILENAME = " & chr(34) & ""& newFile &"" & chr(34) & ""
strNewBuffer = "SHARE = " & chr(34) & "\AR0BQ05\WEB$\LBS2-BS" & chr(34) & ""
Set objSkript = objFs.CreateTextFile(strNewSkript, True)
objSkript.WriteLine strNewFileName
objSkript.WriteLine strNewBuffer
Set objSkript = Nothing
end if
End Function
%>
Hi,
wenn ich dich jetzt richtig verstehe, dann rufst du eine Seite auf, wo du vielleicht erst nach drei Minuten eine Antwort bekommst?
Das ist äußerst schlecht. Mach eine Statusseite, wo sicher der/diejenige über den Versand informieren kann. Eine Timeout-Funktion auf einen Server zu implementieren ist kaum der richtige Weg (Systemresourcen).
bernd