我有一个使用 HttpHandler 类运行的 Web 服务。在这个类中,我检查表单/查询字符串参数的请求流。在某些情况下,这些参数似乎没有通过。经过一番挖掘,我遇到了一些我不太了解的行为。见下文:
// 请求包含'a=1&b=2&c=3'
// TEST ONLY:读取整个请求
字符串内容;
使用 (StreamReader sr = new StreamReader(context.Request.InputStream))
{
内容 = sr.ReadToEnd();
}
// 这里的 'contents' 通常是正确的 - 包含 'a=1&b=2&c=3'。有时它是空的。
字符串 a = context.Request["a"];
// 这里,a = null,不管上面的'contents'变量是否正确
谁能向我解释为什么会发生这种情况?如果有任何区别,我正在使用 .NET WebClient 和 UploadDataAsync 在客户端上执行请求。
如果您需要更多信息,请告诉我。