![](/img/trans.png)
[英]How can I authenticate a windows user over a REST API call without IIS/WCF?
[英]Can IIS be set up to block API Responses over a certain limit?
我们有一个充当API网关的应用程序,接听电话并将它们路由到其他API,然后转发响应。
在我们的设置中,我们确保开发API调用的开发人员不会通过上传大量文件或发送过多的JSON有效负载来淹没我们。 我们现在正试图弄清楚如果他们进行返回过多数据的API调用,我们如何确保不会使它们泛滥。
有没有办法设置IIS或ASP.Net应用程序拒绝超过一定大小的API响应,就像我们拒绝超过一定规模的API请求一样?
只是用明确的术语添加一个例子:
如果开发人员发出API请求以获取其所有客户,则API Gateway会将该请求传递给我们的内部Customers API。 如果Customers API响应600MB响应,我们希望阻止API网关的响应,然后我们将向开发人员发送响应,要求他们更改其请求以减少结果集。
响应没有限制大小。 我们可以通过在响应头中添加更多参数Content-Length来限制响应大小。
设置您可以在web.config文件中设置的请求限制:
<system.web>
<httpRuntime maxRequestLength="2147483647" />
要么
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2147483648" />
</requestFiltering>
</security>
</system.webServer>
要么
您还可以在web.config中设置以下代码:
<configuration>
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="50000000"/>
</webServices>
</scripting>
</system.web.extensions>
</configuration>
maxJsonLength配置JSON字符串的最大长度。
有关更多详细信息,请参阅: jsonSerialization元素(ASP.NET设置架构)
问候,jalpa
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.