Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Vanligtvis är det svårt att testa begränsning av resurser eftersom det sker sällan, när Microsoft 365-servrarna är hårt belastade. Med hjälp av Dev Proxy kan du simulera begränsningssvar och kontrollera om programmet hanterar det korrekt.
Om du vill simulera strypning på Microsoft 365-API:er använder du GraphRandomErrorPlugin och RetryAfterPlugin.
GraphRandomErrorPlugin returnerar begränsningssvar för API:er för Microsoft 365. Verifierar RetryAfterPlugin att din app säkerhetskopierar enligt instruktionerna i API:et.
Börja med att aktivera GraphRandomErrorPlugin och RetryAfterPlugin i din Dev Proxy-konfigurationsfil.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
"plugins": [
{
"name": "RetryAfterPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
},
{
"name": "GraphRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "graphRandomErrorPlugin"
}
],
"urlsToWatch": [
"https://graph.microsoft.com/v1.0/*",
"https://graph.microsoft.com/beta/*",
"https://graph.microsoft.us/v1.0/*",
"https://graph.microsoft.us/beta/*",
"https://dod-graph.microsoft.us/v1.0/*",
"https://dod-graph.microsoft.us/beta/*",
"https://microsoftgraph.chinacloudapi.cn/v1.0/*",
"https://microsoftgraph.chinacloudapi.cn/beta/*",
"!https://*.sharepoint.*/*_api/web/GetClientSideComponents",
"https://*.sharepoint.*/*_api/*",
"https://*.sharepoint.*/*_vti_bin/*",
"https://*.sharepoint-df.*/*_api/*",
"https://*.sharepoint-df.*/*_vti_bin/*"
]
}
Varning
Lägg till RetryAfterPlugin före GraphRandomErrorPlugin i din konfigurationsfil. Om du lägger till den efteråt kommer begäran att misslyckas på grund av GraphRandomErrorPlugin innan RetryAfterPlugin har en chans att hantera den.
Konfigurera GraphRandomErrorPlugin sedan för att simulera begränsningsfel.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
"plugins": [
{
"name": "RetryAfterPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
},
{
"name": "GraphRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "graphRandomErrorPlugin"
}
],
"urlsToWatch": [
"https://graph.microsoft.com/v1.0/*",
"https://graph.microsoft.com/beta/*",
"https://graph.microsoft.us/v1.0/*",
"https://graph.microsoft.us/beta/*",
"https://dod-graph.microsoft.us/v1.0/*",
"https://dod-graph.microsoft.us/beta/*",
"https://microsoftgraph.chinacloudapi.cn/v1.0/*",
"https://microsoftgraph.chinacloudapi.cn/beta/*",
"!https://*.sharepoint.*/*_api/web/GetClientSideComponents",
"https://*.sharepoint.*/*_api/*",
"https://*.sharepoint.*/*_vti_bin/*",
"https://*.sharepoint-df.*/*_api/*",
"https://*.sharepoint-df.*/*_vti_bin/*"
],
"graphRandomErrorPlugin": {
"allowedErrors": [ 429 ]
}
}
Starta Dev Proxy med din konfigurationsfil och testa appen för att se hur den hanterar bandbreddsbegränsning.
Om programmet drar sig tillbaka när det stryps, men inte väntar den tid som anges för begärandena, visas ett meddelande som liknar Calling https://graph.microsoft.com/v1.0/endpoint again before waiting for the Retry-After period. Request will be throttled.
Det här meddelandet anger att din applikation inte behandlar strypningen korrekt och i onödan förlänger strypningen. Om du vill förbättra hur appen hanterar begränsningar uppdaterar du koden så att den väntar under den tid som anges i Retry-After rubriken innan du försöker utföra begäran igen.