我正在尝试构建一个 HttpHandler (.NET Framework 4) 来处理大文件的上传。这个想法是获取HttpWorkerRequest并读取正文流。我使用HttpWorkerRequest。GetPreloadedEntityBody检索收到的 HTTP 正文的第一个块。
这是我获取预加载实体的方法:
IServiceProvider provider = (IServiceProvider)context;
HttpWorkerRequest wr = (HttpWorkerRequest)provider.GetService(typeof(HttpWorkerRequest));
byte[] entityBodyBytes = wr.GetPreloadedEntityBody();
当我在本地 IIS(windows xp 下的 5.1)或 Visual Studio Web 服务器下运行我的网站时,这很有效,但是当我在 IIS 7(集成模式)下运行它时,GetPreloadedEntityBody方法不断返回一个空字节数组。
关于为什么GetPreloadedEntityBody方法的返回字节数组在 IIS 7 上为空的任何想法?