C♯, C#相談室 Part36
■ このスレッドは過去ログ倉庫に格納されています
0365デフォルトの名無しさん
2006/12/27(水) 15:49:37ご指摘ありがとうございます。
BufferedStream については、環境変数CONTENT_LENGTHから得た値の
分だけReadメソッドでbyte配列かchar配列に標準入力を読み込めれば
なんでもよかったのですが、バッファの大きさを指定する場合、一番
簡単そうだったので使いました。
修正版は下のようになりました。
String queryString = "";
String reqMethod = Environment.GetEnvironmentVariable("REQUEST_METHOD");
if ( reqMethod == "POST" ) {
String conLenStr = Environment.GetEnvironmentVariable("CONTENT_LENGTH");
int queryLength = 0;
try {
queryLength = Int32.Parse(conLenStr);
} catch {
// 例外処理 HTMLでエラーメッセージを出力する
dispError( "CONTENT_LENGTH の Parse に失敗しました。" );
}
BufferedStream stdin = new BufferedStream(Console.OpenStandardInput(),queryLength);
byte [] queryBytes = new byte[queryLength];
stdin.Read( queryBytes, 0, queryLength );
queryString = Encoding.UTF8.GetString(queryBytes);
}
else {
queryString = Environment.GetEnvironmentVariable("QUERY_STRING");
}
■ このスレッドは過去ログ倉庫に格納されています