首页 > 解决方案 > ServiceStack:添加 Blazor 支持?

问题描述

我曾尝试将 ServiceStack 引用添加到客户端 Blazor 项目,但在通过 NuGet 添加 ServiceStack.HttpClient 后遇到问题。

目前,VS2019 会告诉我:

找不到导出类型“System.Threading”的声明

询问/环顾四周时,他们会说:

Blazor 是使用 mono-wasm 作为基本 .NET 框架实现构建的,在这种情况下,我认为这是 mono-wasm 中缺少的方法,这就是问题所在。

目前 Mono WASM 不支持线程;检查回购 https://github.com/lrz/mono-wasm-mono了解更多信息

我得到正确了吗:

标签: c#visual-studioservicestackblazor

解决方案


ServiceStack 的 Blazor WASM 模板由Sebastian Faltonihttps://github.com/nukedbit/blazor-wasm-servicestack维护

可以使用x dotnet 工具安装:

$ dotnet tool install -g x

并创建:

$ x new nukedbit/blazor-wasm-servicestack ProjectName

或者对于免安装替代方案,使用 ServiceStack 的在线项目模板生成器: https ://servicestack.net/start#community

它包括与 Blazor 服务客户端的集成,该客户端可以在以下位置创建:

var client =  BlazorClient.Create("https://localhost:5001")

它当前返回一个预配置JsonHttpClient,删除 Blazor WASM 不支持的所有 HttpClient 功能。随着时间的推移,我们将包含更多功能,因为它们在 Blazor 中受支持。

@Issac 关于使用 Web 套接字的 ServiceStack 是不正确的,ServiceStack 在其任何库中都不使用 Web 套接字,并且BlazorClient是使用 Blazor WASM 支持的 .NET 的 HttpClient 的服务客户端。


推荐阅读