IE7で3分ごとにScan.aspxを実行するようにスケジュールされたタスクを設定しています。Scan.aspxは、10個のファイルから順番にデータを読み取ります。これらのファイルは常に更新されています。ファイルの値がデータベースに挿入されます。
散発的に、読み取られる値は切り捨てられるか、歪められます。たとえば、ファイルの値が「Hello World」の場合、「Hello W」、「Hel」などのランダムなエントリがデータベースにあります。これらのエントリのタイムスタンプは完全にランダムに表示されます。午前1時の場合もあれば、午前3時30分の場合もあります。そして、ある夜、これはまったく起こりません。
コードをデバッグすると、この問題を再現できません。したがって、「通常の」状況では、コードは正しく実行されます。
アップデート:
テキストファイルを読み取るためのaspxコードビハインド(Page_Load内)は次のとおりです(これは10個のテキストファイルごとに呼び出されます)。
Dim filename As String = location
If File.Exists(filename) Then
Using MyParser As New FileIO.TextFieldParser(filename)
MyParser.TextFieldType = FileIO.FieldType.Delimited
MyParser.SetDelimiters("~")
Dim currentrow As String()
Dim valueA, valueB As String
While Not MyParser.EndOfData
Try
currentrow = MyParser.ReadFields()
valueA= currentrow(0).ToUpper
valueB = currentrow(1).ToUpper
//insert values as record into DB if does not exist already
Catch ex As Exception
End Try
End While
End Using
End If
(スケジュールされたタスクを介して)1日に複数回実行すると、これが問題を引き起こす可能性がある理由はありますか?