次の関数を呼び出して、「このコンテキストエラーでは応答が利用できません」というメッセージが表示されます。
Private Sub ReloadPage(ByVal inNumber As Integer) Handles tempaux.Advertise
'Response.Redirect("tope.aspx?dep=" & CStr(inNumber))
Response.Write("<script>window.open('tope.aspx?dep= & CStr(inNumber)','topFrame');</script>")
End Sub
Response.Writeの前にSystem.Web.HttpContext.Currentを追加する行を変更すると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というメッセージが表示されます。
背景を説明すると、tope.aspxは、ご覧のとおり、トップフレームで開かれています。ロードされるとすぐに、私が定義したCustomTimerオブジェクトが起動します。
Public Class tope
Inherits System.Web.UI.Page
Public funciones As funciones = New funciones
Dim WithEvents tempaux As CustomTimer = Global.objCustomTimer
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim inUserProfile As Int64
Try
tempaux.StartTimer()
Catch ex As Exception
'bla bla
End Try
ご覧のとおり、Global.asaxでCustomTimerを宣言しました。CustomTimerオブジェクトは5秒ごとにAdvertiseイベントを発生させ、tope.aspxページのパラメーターとして「inNumber」を渡してラベルを更新します。これは簡単なことです。CustomTimerは、タイマーを管理するために作成したクラスであり、他のクラスを継承しません(検索で学んだことについては、httpthingを継承する必要がありますが、よくわかりません)。ある時点でhttpcontextが失われていると推測しています(Googleで検索したところ、そのライフサイクルや、なぜ死ぬのかを教えてくれる情報がわかりませんでした)。誰かが私に問題が何であるかを見つけるのを手伝ってもらえますか?
ありがとう