@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

「基になる接続が閉じられました」につきまして。

1
投稿者投稿内容
ひろろ
常連さん
会議室デビュー日: 2002/04/11
投稿数: 21
投稿日時: 2008-02-26 21:10
お世話になります。

WEBサーバー(Windows2003) から WEBサーバー(apache)へ
POST処理をしていますが、

たまに、

「基になる接続が閉じられました : 受信時に予期しないエラーが発生しました。」
at System.Net.HttpWebRequest.CheckFinalStatus()
at System.Net.HttpWebRequest.GetResponse()

'レスポンスデータの読み込み
wRes = CType(wReq.GetResponse, HttpWebResponse)
でエラーが発生。

というエラーが発生しまして、困っております。
ソースの一部は以下のようになります。

また、
Machine.config の以下の設定を変えてみても
状況は変わらずです。

<connectionManagement>
<add address="*" maxconnection="60"/>
</connectionManagement>


Try
'リクエストデータ作成
Dim wReqByte As Byte() = Encoding.GetEncoding(932).GetBytes(cReqData.ToString)

wReq = CType(WebRequest.Create(wUrl), HttpWebRequest)
wReq.Timeout = 60000
wReq.Method = "POST"
wReq.ContentType = "application/x-www-form-urlencoded"
wReq.ContentLength = wReqByte.Length

'リクエストデータの書き込み
wReqSt = wReq.GetRequestStream()
wReqSt.Write(wReqByte, 0, wReqByte.Length)
wReqSt.Close()

'送信完了とみなす
wConnect = True

'レスポンスデータの読み込み
wRes = CType(wReq.GetResponse, HttpWebResponse)

If wRes.StatusCode = HttpStatusCode.OK Then
'-- 正常の処理
End If

Catch ex As Exception
throw
Finally
If Not wResSr Is Nothing Then
wResSr.Close()
End If
If Not wResSt Is Nothing Then
wResSt.Close()
End If
If Not wRes Is Nothing Then
wRes.Close()
End If
End Try

ご存知の方、どうかご教授をよろしくお願い致します。
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2008-02-27 09:51
この処理より前に処理が走っていて
そこでwRes.Closeの様なことをしていませんでしょうか
ひろろ
常連さん
会議室デビュー日: 2002/04/11
投稿数: 21
投稿日時: 2008-02-27 10:22
あすか様、お世話になります。

>この処理より前に処理が走っていて
>そこでwRes.Closeの様なことをしていませんでしょうか

本メソッドは、インスタンスメソッドで、別インスタンスから、呼ばれます。

静的メソッド等に変更し、スレッドセーフにしなければいけないのでしょうか?

書き忘れましたが、.NET は、1.1を使用しております。


ひろろ
常連さん
会議室デビュー日: 2002/04/11
投稿数: 21
投稿日時: 2008-02-27 11:06
すいません、補足です。

Dim wReq As HttpWebRequest
Dim wReqSt As Stream
Dim wRes As HttpWebResponse
Dim wResSt As Stream
Dim wResSr As StreamReader
Dim wResData As String

というようなローカル変数になっています。
くまっち
大ベテラン
会議室デビュー日: 2008/01/18
投稿数: 169
お住まい・勤務地: 茨城県のどこか。
投稿日時: 2008-02-27 12:04
データサイズなどを確認してみては如何でしょう。
http://support.microsoft.com/kb/826210/ja

IISは何かと規定のデフォルト値が障害になる場合が多い気がします。
ひろろ
常連さん
会議室デビュー日: 2002/04/11
投稿数: 21
投稿日時: 2008-02-27 13:14
くまっち様。

WEBサーバー(apache)へ POST データを送信しているのですが、
IISは使用していない(関係してない)と想定しています。

また、POSTデータは、数10バイト程度でそんなに長くないのです。


くまっち
大ベテラン
会議室デビュー日: 2008/01/18
投稿数: 169
お住まい・勤務地: 茨城県のどこか。
投稿日時: 2008-02-27 14:16
IISとはかかれてませんでしたね、失礼しました。

既読かと思われますが・・・
http://support.microsoft.com/kb/915599/ja
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-02-27 14:57
もしかすると、このへんのお話は関係あるでしょうか?

http://www.microsoft.com/japan/msdn/community/gdn/ShowPost-4644.htm
ASP.NET を使用して作成する XML Web サービスの構成オプション
1

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