避免在服务器的内存中读取大量用户提交的表单数据,直到发出信号

本文关键字:数据 表单 提交 信号 服务器 内存 读取 用户 | 更新日期: 2023-09-27 18:01:50

我有一个ASP。网络应用程序。在这个应用程序中,我有一个页面,用户可以提交大量的数据到服务器。但有时我只需要检查一些请求头,可能会完全拒绝请求。在这些情况下,我不希望我的服务器内存在一段时间内保存大量用户提交的不必要的数据。有没有办法在ASP。. NET不保留任何用户提交的数据,直到我在读取头后发出信号。

避免在服务器的内存中读取大量用户提交的表单数据,直到发出信号

这些都是随请求一起发送的。要做你想做的,你需要两个请求,因为整个"直到我信号"意味着一个服务器响应和另一个客户端请求。

根据您要检查的内容,可以执行两阶段请求,首先让客户端提交一个简单的请求,获取一些授权代码以提交较大的请求,然后将该授权代码与较大的请求一起发送。这就是授权在大多数Web api中工作的本质方式,但这完全取决于客户端是否符合规范。

在一个有文档的API中,这应该不是一个问题,因为客户端会明白,除非他们遵循程序,否则他们将无法与API交互。对于一个通用网站来说,这是一个更大的问题,浏览器本身无法正确处理这个问题,最终用户可能不会合作,即使它是。

然而,即使在API环境中,您仍然会从不符合标准的客户端获得大量未经授权的请求。它们会被阻止,但你的服务器仍然需要处理它来阻止,这有点违背了阻止它的目的。您不妨在此时继续完成它,而不是引起额外的请求,包括在经过适当授权发送时重复大请求。

无论长短,试图阻止它是没有意义的。您最好的办法是简单地将表单或其他东西分解为多个步骤,以便每个发布的步骤不是那么大,如果有一些问题,您可以在第一个较小的请求时停止它。