从服务参考共享类型/模型到客户端

Posted

技术标签:

【中文标题】从服务参考共享类型/模型到客户端【英文标题】:Share types/models from service reference to client 【发布时间】:2021-09-08 06:08:57 【问题描述】:

我正在开发一个带有 web api 后端的 blazor webassembly 程序。后端使用 WCF 服务引用。 如何与 webassembly 程序共享 WCF 服务引用生成的类型/模型?

【问题讨论】:

【参考方案1】:

您可以尝试在不同的项目中创建客户端代理。 VS里面的选项我不记得了,你可能得用命令行工具。

但我不会。

生成的代码通常不是最漂亮的,其中包含许多您在 SPA 中不需要或不需要的元数据、依赖项和属性。

所以考虑在共享项目中写一层DTO类,使用AutoMapper进行数据转换。

DTO 是数据传输对象,是客户端和服务器之间的共享代码。在您的客户端中,您可以将它们用作模型和/或视图模型。

【讨论】:

+1。 SPA 不需要知道远程服务的复杂性,也不需要处理版本更改。它也不应该使用浏览器的有限资源将 DTO 转换为它可以使用的东西。 关于版本控制,航空旅行行业的某家公司在使用 Node.js 生成 SOAP 响应时考虑了 XSD 的免费文档。因此,由于拼写错误或字符串元素变成数组,实际响应可能会在没有通知的情况下发生变化(它们有每月发布周期)。对于一个糟糕的 SPA 来说,这不是工作 谢谢!因此,如果我理解正确,我应该在共享项目中定义模型并在我的模型和后端的 WCF 类型之间创建映射? 是的,完全正确。您可以使 DTO 适合任务。

以上是关于从服务参考共享类型/模型到客户端的主要内容,如果未能解决你的问题,请参考以下文章

java web 怎么从服务器下载文件到客户端的指定位置

在 WCF 服务及其 .net 客户端之间共享类型

如何将复杂模型从客户端传递到服务器?

在客户端和服务器之间共享类型

如何为具有共享类型的多个 WCF 服务生成客户端代码

打开域服务器共享文件很慢!!!!!!!!!!!!!!!!大虾,高手速度进进进进进!!!!!