- PR -

C#のWebClient使用時にHeaderEncoding初期化エラー

1
投稿者投稿内容
kit
会議室デビュー日: 2006/01/26
投稿数: 2
投稿日時: 2006-01-26 10:28
いつも参考にさせてもらっています。

開発環境はWinXP VS.NET2003 C# です。
Webサーバーからデータをダウンロードするときに、一部のPCでダウンロードできない状態となっています。
エラーは以下のようなコードで再現できます。

[STAThread]
static void Main(string[] args) {
System.Net.WebClient wc = new System.Net.WebClient();
System.IO.Stream st = wc.OpenRead("http://www.yahoo.com");
using(System.IO.StreamReader sr = new System.IO.StreamReader(st)){
Console.WriteLine(sr.ReadToEnd());
}
st.Close();
Console.ReadLine();
}

最終的な例外は「タイムアウトしました」となりますが、コンソールの画面に以下のようなメッセージが表示されます。

ハンドルされていない例外:System.IO.IOExcetpion: 転送接続を作成できません。---
> System.TypeInitializationException: "HeaderEncoding" のタイプ初期化子が例外をスローしました。 ---> System.ArgumentException: 無効か、またはサポートされないコードページの種類です。
at System.Text.CodePageEncoding.GetCPMaxCharSizeNative(Int32 codePage)
at System.Text.CodePageEncoding..ctor(Int32 codePage)
at System.Text.Encoding.GetEncodingRare(Int32 codePage)
at System.Text.Encoding.GetEncoding(Int32 codePage)
at System.Net.HeaderEncoding..cctor()
--- 内部例外スタックトレースの終わり ---
at System.Net.HttpWebRequest.MakeRequest()
at System.Net.HttpWebRequest.EndSubmitRequest()
at System.Net.HttpWebRequest.SetRequestSubmitDone(ConnectStream submitStream)
at System.Net.Connection.StartConnectionCallback(Object state, Boolean wasSignalled)
--- 内部例外スタックトレースの終わり ---
at System.Net.Connection.StartConnectionCallback(Object state, Boolean wasSignalled)

同じコードでも正常に動作するPCもあるのですが、
ある一部環境で上記のような症状が発生しています。

その環境ではブラウザは正常に動作しますし、
またC#で作成した、Socketを利用する方式のダウンロードなら可能でした。
ただしC#でWebRequestを利用した場合は、上記と同様のエラーが発生します。

.NET Frameworkの再セットアップと、
アップデートを行いましたが、改善しませんでした。

このような症状について情報はありませんでしょうか。
よろしくお願いいたします。
1

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