HttpHandler クラスで実行される Web サービスがあります。このクラスでは、フォーム/クエリ文字列パラメーターのリクエスト ストリームを検査します。状況によっては、これらのパラメーターが通過していないように見えました。少し掘り下げた後、よくわからない動作に出くわしました。下記参照:
// リクエストには 'a=1&b=2&c=3' が含まれます
// テストのみ: リクエスト全体を読み取ります
文字列の内容;
使用 (StreamReader sr = 新しい StreamReader(context.Request.InputStream))
{
内容 = sr.ReadToEnd();
}
// ここで、'contents' は通常正しいです - 'a=1&b=2&c=3' を含んでいます。時々それは空です。
文字列 a = context.Request["a"];
// ここでは、上記の「contents」変数が正しいかどうかに関係なく、a = null
なぜこれが起こっているのか、誰かが私に説明できますか? 私は .NET WebClient と UploadDataAsync を使用して、クライアントで要求を実行しています。
さらに情報が必要な場合は、お知らせください。