입력 파일을 구문 분석하는 함수가 있습니다. 파일이 (getSvSpelOdds는 False를 반환)이없는 경우타이머를 사용하면 HttpContext.Current가 null이됩니다.
Private Function getSvSpelOdds(ByVal BombNo As Integer) As Boolean
Dim InputFileBase As String = HttpContext.Current.Application("InputFileBase")
strInputFile = InputFileBase & "PC_P7_D.TXT"
OddsReader = New StreamReader(strInputFile)
'some other code
End Function
, 나는 30 초 후에 다시 시도하고 싶습니다. 이것을 달성하기 위해 저는 타이머를 사용합니다.
If Not getSvSpelOdds(y) Then
Timer1.Interval = 30000
End If
Private Sub Timer1_Elapsed(sender As Object, e As System.Timers.ElapsedEventArgs) Handles Timer1.Elapsed
getSvSpelOdds(y)
End Sub
문제 타이머 (gloal 변수의 값을 얻기 위해 사용됨)를 발생 HttpContext.Current 때 널이다.
이 방법을 사용하려면 다른 방법을 사용해야합니까?
가능한 중복 (는 타이머 콜백에서 작동하지 않는 이유에 대해) 질문의 다른 부분을 해결하기 위해 보인다 어떻게 HttpContext.Current 멀티 스레드 환경에서 작업 ?] (http://stackoverflow.com/questions/1561036/how-does-httpcontext-current-work-in-a-multi-threaded-environment) –