通貨換算用のシンプルな ASP.NET アプリがあります。localhost で試してみると、すべて正常に動作します。ただし、アプリがホスティング WebClient の DownloadString() メソッドのみを実行している場合、Input string was not in a correct format という例外がスローされます。
私のコード:
string s =
wc.DownloadString(
"http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.txt");
何が間違っている可能性がありますか?私が使用しているホスティングに何らかの制限がある可能性はありますか?
手伝ってくれてありがとう。
編集:
問題は DownloadString() にはないようです。その後、希望の為替レートをサブストリングするコードがあります
s = s.Replace(',', '.');
string eur = s.Substring(s.IndexOf("EUR") + 4);
rateEUR = Convert.ToDouble(euro.Substring(0, 6));
しかし、なぜこれがローカルで機能し、ホスティングでは機能しないのでしょうか?
さて、問題は解決しました。異文化の問題でした。を に置き換えることを考えました。十分でしたが、明らかにそうではありませんでした。
string euro = s.Substring(s.IndexOf("EUR") + 4);
rateEUR = Convert.ToDouble(euro.Substring(0, 6), CultureInfo.InvariantCulture);