我正在尝试使用客户端 Blazor 显示现有 WCF 服务提供的一些数据。我能够添加连接的服务引用,生成代理。但是当我尝试像这样调用它时:var client = new SoftConServiceClient();
await client.PingAsync(new PingRequest());有很多与 MonoTouch 相关的错误。通过深入研究 Mono 的代码,可以NotImplementedException发现System.ServiceModel.DnsEndpointIdentity.我是否可以假设现在无法从 Blazor 客户端调用旧版 WCF 服务?如果不是这种情况,任何人都可以分享有关如何正确执行此操作的指南吗?额外问题:如果这是不可能的,那么解决这个问题的最佳选择是什么?修改 WCF 使其成为 REST-ish 还是直接放弃它并实现 .net core api 服务?预先非常感谢!
4 回答
万千封印
TA贡献1891条经验 获得超3个赞
Core 对 WCF 的支持不是很好,而是根本不支持。特别是在身份验证和安全性方面,例如使用 WS* 绑定创建的服务。但对于使用 BasicHttpBinding 或 Restful 风格的服务创建的服务。我们可以在基于 Core 的客户端上正常调用它们,无论是使用客户端代理类还是 Channel Factory。
30秒到达战场
TA贡献1828条经验 获得超6个赞
我是否可以假设现在无法从 Blazor 客户端调用旧版 WCF 服务?
是的,你是对的... Blazor 客户端不支持 WCF,将来也不会支持。微软决定从.Net 5.0开始停止支持它,并建议改用Web Api。
根据您在 WCF 上的投入程度,您可能会转向 Web API,也许是 gRPC,或者继续使用 WCF,希望社区移植和支持 WCF 的努力能够成功。
弑天下
TA贡献1818条经验 获得超8个赞
我能够使用在 .Net 5 中使用 SoftCore 发现的技术来放置 WCF 4.7.2。我还可以使用 SoftCore 托管示例 Blazor Server。
- 4 回答
- 0 关注
- 152 浏览
添加回答
举报
0/150
提交
取消