我有一个ASP.NET应用程序。在这个应用程序中,我有一个页面,用户可以向服务器提交大量数据。但有时我只需要检查一些请求标头并完全拒绝请求。在这些情况下,我不希望我的服务器内存在一段时间内不需要大量用户提交的数据。在读取标题后我发出信号之前,ASP.NET中是否有任何方法不保存任何用户提交的数据。
答案 0 :(得分:1)
这些都是随请求发送的。要做你想做的事,你需要两个请求,因为整个“直到我发信号”意味着服务器响应和另一个客户请求。
根据您要检查的内容,可以执行两阶段请求,使客户端首先提交简单请求,获取一些授权代码以提交更大的请求,然后发送该授权代码以及更大的请求。这基本上是授权在大多数Web API中的工作方式,但这一切都取决于客户端是否符合规范。
在文档化的API中,这应该不是问题,因为客户端会理解,除非他们遵循过程,否则他们将无法与API交互。对于通用网站而言,这是一个更大的问题,浏览器本身无法正确处理这一问题,即使最终用户可能也不会合作。
但是,即使在API环境中,您仍然会收到来自不合规客户端的大量未经授权的请求。它们会被阻止,但是你的服务器仍然必须处理它才能阻止,这种阻止它的目的。您也可以在此时继续完成,而不是产生额外的请求,包括在获得适当授权的情况下重复请求。
长短,试图阻止它真的没有意义。您最好的选择是将表单或其他任何内容分解为多个步骤,以便单个发布的步骤不会那么大,如果存在某些问题,您可以在第一个较小的请求时停止它。