Blazor: Die Typen JSObjectReference und JSInProcessObjectReference wurden in „internal“ geändert

Die neuen Typen Microsoft.JSInterop.JSObjectReference und Microsoft.JSInterop.JSInProcessObjectReference, die in ASP.NET Core 5.0 RC1 eingeführt wurden, wurden als internal gekennzeichnet.

Eingeführt in Version

5.0 RC2

Altes Verhalten

JSObjectReference kann über IJSRuntime über einen JavaScript-Interop-Befehl abgerufen werden. Beispiel:

var jsObjectReference = await JSRuntime.InvokeAsync<JSObjectReference>(...);

Neues Verhalten

JSObjectReference verwendet den Zugriffsmodifizierer internal. Stattdessen muss die publicIJSObjectReference-Schnittstelle verwendet werden. Beispiel:

var jsObjectReference = await JSRuntime.InvokeAsync<IJSObjectReference>(...);

JSInProcessObjectReference wurde ebenfalls als internal gekennzeichnet und durch IJSInProcessObjectReference ersetzt.

Grund für die Änderung

Durch die Änderung wird das JavaScript-Interop-Feature mit anderen Mustern in Blazor vereinheitlicht. IJSObjectReference ist analog zu IJSRuntime, da beide Objekte einen ähnlichen Zweck erfüllen und ähnliche Methoden und Erweiterung umfassen.

Ersetzen Sie JSObjectReference durch IJSObjectReference und JSInProcessObjectReference durch IJSInProcessObjectReference.

Betroffene APIs

  • Microsoft.JSInterop.JSObjectReference
  • Microsoft.JSInterop.JSInProcessObjectReference