HttpListener - 限制请求长度

时间:2016-01-17 21:49:27

标签: c# http

我正在编写一个基于HttpListener的服务器,它接受二进制文件并上传到S3。我想在实际阅读整个请求之前拒绝大文件。这是我的方法:

var ctx = await listener.GetContextAsync();
var req = ctx.Request;

if ( req.ContentLength64 > SIZE_LIMIT )
    result = ERROR_RESPONSE;
else
{
    using ( BinaryReader r = new BinaryReader( req.InputStream ) )
    {
        bytes = r.ReadBytes( Convert.ToInt32( req.ContentLength64 ) );
        upload( bytes );
    }
}

所以,我的问题是,如果我在从InputStream读取任何内容之前检查HttpListenerRequest.ContentLength64,HttpListener不读取二进制内容,是吗?

0 个答案:

没有答案