- - PR -
Webフォームから応答を返す方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-11-06 14:26
いつもお世話になっております。
ASP.NETで、Webフォームから応答を返す方法を教えてください。 Page_Loadの最後で下のように応答を返すようなWebフォームを作成しました。 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim strRes As String Try '処理 strRes = "正常終了" Catch ex As System.Exception strRes = ex.Message Finally Response.Write(strRes) '@ End Sub テスト用に作成したツールで問題なく応答が受け取れることを確認しました。 下がツールのコードです。 Private Sub cmdConnect_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdConnect.Click Dim oHttpReq As New MSXML.XMLHTTPRequest() Dim nReq As Short Dim strSendTo As String Try oHttpReq.open("POST", "http://localhost/TEST/TEST.aspx", False) '送信 oHttpReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8") oHttpReq.send(String.Format("DATA=aaa") If oHttpReq.status = 200 Then 'HTTP のレスポンスが 200の場合 MsgBox(oHttpReq.responseText) 'レスポンスデータを取得 Else 'エラーの場合 MsgBox(oHttpReq.statusText) 'エラーテキストを取得 End If oHttpReq = Nothing Catch ex As System.Exception MsgBox(ex.ToString) End Try End Sub ところが、別のクライアントAでセッションが閉じるのを待ってから応答を受け取っている場合、 必ず1分15秒後に応答を受け取るということで、Webフォームの応答部分を以下のようにしました。 @の部分に下の2行を追加した Response.Flush() Response.Close() 修正後、クラアントAではすぐに応答が受け取れるようになりましたが、 更に別のクライアントBで、応答が受け取れなくなってしまいました。 修正前には、クライアントBでもすぐに応答が受け取れていたそうです。 テスト用に作成したツールでは、修正前、後のどちらでも応答はすぐに受け取れています。 Webフォームから応答を返す場合、どのようにするのが正しいのでしょうか? Web.configで何か設定をしたり、Responseの何か設定が必要なのでしょうか? どうぞよろしくお願い致します。 |
1