![](/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.