C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: WebRequest.GetRequestStreamで例外


(過去ログ 96 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■57418 / inTopicNo.1)  WebRequest.GetRequestStreamで例外
  
□投稿者/ taru (1回)-(2011/02/25(Fri) 14:41:07)

分類:[C#] 

お世話になっております。

http://dobon.net/vb/dotnet/internet/webrequestpost.html
を参考にして、WebRequestクラスを使ったクライアントからサーバへ通信を行うサービスプログラムを作成しています。

しかし、GetRequestStreamのところで必ずWebException例外が発生して落ちてしまいます。

ただ、同じ処理をコンソールアプリで作成して実行したところ、正常に通信が行われるため、サービスであることが原因なのではと考えています。

そこで調査しているうちに下記のトピックにたどりつきました。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=2412&KLOG=11

上記トピックに書いてあるとおり、確かにサービスの実行アカウントを「ローカルシステムアカウント」から、別の管理者権限を持ったアカウントに変更したところ、正常に通信が行われました。

ただ、「ローカルシステムアカウント」を実行アカウントにしたときに例外が発生しているのは上記の端末のみであり、他のいくつかの端末では、実行アカウントが「ローカルシステムアカウント」でも、同サービスプログラムが正常に動いています。

1台だけが「ローカルシステムアカウント」で例外となっているのですが、何か環境の問題でしょうか。

よろしくお願い致します。
引用返信 編集キー/
■57419 / inTopicNo.2)  Re[1]: WebRequest.GetRequestStreamで例外
□投稿者/ todo (122回)-(2011/02/25(Fri) 14:51:25)
> しかし、GetRequestStreamのところで必ずWebException例外が発生して落ちてしまいます。
エラーメッセージは?
HTTPステータスは?

http://www.atmarkit.co.jp/fdotnet/dotnettips/817httpstatus/httpstatus.html
引用返信 編集キー/
■57420 / inTopicNo.3)  Re[2]: WebRequest.GetRequestStreamで例外
□投稿者/ taru (2回)-(2011/02/25(Fri) 15:18:51)
> エラーメッセージは?

「基になる接続が閉じられました : リモート サーバーに接続できません。」と出ます。

また、その際のHttpWebRequestのプロパティ値と、WebExceptionのプロパティ値は以下の通りです。

■HttpWebRequestのプロパティ値
ConnectionGroupName=,
ContentLength=24,
ContentType=application/x-www-form-urlencoded,
Credentials=,
Headers=Content-Type: application/x-www-form-urlencoded,
Method=POST,
PreAuthenticate=False,
Proxy=System.Net.WebProxy,
RequestUri=http://xxx.xxx.xxx.xxx/aaa.php,  ←(※http://以降は変えています)
Timeout=100000,

■WebExceptionのプロパティ値
HelpLink=,
InnerException=,
Message=基になる接続が閉じられました : リモート サーバーに接続できません。
Response=,
Source=System,
StackTrace= at System.Net.HttpWebRequest.CheckFinalStatus()
at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult)
at System.Net.HttpWebRequest.GetRequestStream()
at Common.CPro.HttpPostData(String url, Hashtable ht, Int32 timeout)   ←(※自作関数です)
Status=ConnectFailure,
TargetSite=Void CheckFinalStatus(),


> HTTPステータスは?
送信する前で例外が発生しているため、HTTPステータスは取れませんよね?
(見当違いであればすみません)
引用返信 編集キー/
■57424 / inTopicNo.4)  Re[3]: WebRequest.GetRequestStreamで例外
□投稿者/ todo (123回)-(2011/02/25(Fri) 16:14:44)
>「基になる接続が閉じられました : リモート サーバーに接続できません。」と出ます。

エラーメッセージでググってみましょう。

> Proxy=System.Net.WebProxy,

Proxyは使ってますか?

> 送信する前で例外が発生しているため、HTTPステータスは取れませんよね?

TCPで繋がらないならその通りです。
以下はどうなりますか?

TcpClient tcp = new TcpClient();
tcp.Connect("xxx.xxx.xxx.xxx", 80);
tcp.Close();

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -