Nefunkční stream rendering v App Service
Stream Rendering je power feature v Blazoru. Všude funguje spolehlivě, ale v Azure App Service z neznámého důvodu ne. Po delším zkoumání jsem zjistil, že podobný problém má v různých situacích mnoho vývojářů. Když Stream Rendering nefunguje, čeká se na provedení celé metody OnInitializedAsync
a teprve poté se aktualizuje DOM finálním HTML.
Jednotný lék je přenastavit Content-Encoding
. Na začátek middleware pipeline jsem tedy přidal middleware, který hlavičku nastaví (nemá to dále nemá vliv na statické soubory, API response atd.). Hodnota identity
indikuje, že se žádná komprese nepoužije.
public class ContentEncodingMiddleware(RequestDelegate next)
{
public async Task InvokeAsync(HttpContext context)
{
context.Response.Headers.Append(HeaderNames.ContentEncoding, "identity");
await next(context);
}
}
Pokud někdo něco podobného řeší, další přičinou může být i response buffering, který je pro stream rendering též nežádoucí.