1.简单介绍
Blazor Web Assembly 和 Blazor Server是Blazor支持的两种类型的渲染模式, .NET8又引入了Auto模式。还有一种是SSR(Static Side Rendering)。
2.Error描述
当我们以Blazor Web App模板创建一个Blazor Web Assembly的web应用程序时,
当你在BlazorWASMGetAwaiterCheck.Client项目中使用如下的语句去获取Weather数据
forecasts = FetchWeatherData().GetAwaiter().GetResult();
则会报如下这个错误,
Blazor WASM_System.PlatformNotSupportedException: Cannot wait on monitors on this runtime
因为Blazor Web Assembly本身不支持 GetAwaiter().GetResult(),所以报了这个错误
3.替代方式
建议可以直接使用异步方法,不要使用GetAwaiter().GetResult()这种同步方法,如下图
4.总结
以上简单说明了一下 Blazor Web Assembly类型的项目中不支持GetAwaiter().GetResult()以及用异步的方法去替代的方式。如果本文哪里有错误的地方,麻烦告之,谢谢谢谢!