- PR -

C# HttpWebRequest.GetResponseの中断方法

1
投稿者投稿内容
まぁ
会議室デビュー日: 2008/11/05
投稿数: 19
投稿日時: 2009-02-26 14:59
お世話になります。

HttpWebRequest.GetResponseを実行中に中断する方法をご存知な方はいらっしゃいますか?

構成といたしまして、VC++(MFC)のアプリをCOM経由でC#のDLLを呼出しています。
DLL内ではサーバーへファイルをアップロードした後に応答を待っているのですが、
HttpWebRequest.GetResponse()を呼び出し中にMFCのアプリ側を終了させる場合、
アプリが正常に終了しない(アプリケーションの応答なし)状態になってしまう
みたいです。

原因として考えられるのはサーバーへサイズの大きいファイルをアップロードして
サーバー側でファイルの解析を行った後に応答を返すみたいなのですが、その応答を
待っている最中に応答待ちを中断して正常にアプリを終了する方法がわかりません。

サーバー側の仕様は入手できないのでせめて、DLLを強制終了させる方法でも
構いません。

開発環境は、WXPSP3 VS2005 VC++(MFC)+C#(DLL)です。

何方かご教授して頂けないでしょうか。
宜しくお願い致します。

[ メッセージ編集済み 編集者: まぁ 編集日時 2009-02-26 15:07 ]
ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2009-02-27 01:15
http://msdn.microsoft.com/ja-jp/library/system.net.webrequest.getresponse(VS.80).aspx

ポーリングしてください。

画面の中断要求をリアルに取りたいなら、別スレッドで1秒くらいの
タイムアウトでレスポンスを見にいって、スレッドの頭で中断要求が
あるかどうかのフラグ見るとか、イベント使うなりで対処すると良い
のでは?

まぁ
会議室デビュー日: 2008/11/05
投稿数: 19
投稿日時: 2009-02-27 10:35
ぴあちゃんさん

早速のご回答有難う御座います。

やはりスレッドにした方が良いのですね。
他に方法がなければ、実装したいと思います。

有難うございました。
1

スキルアップ/キャリアアップ(JOB@IT)