从服务参考共享类型/模型到客户端
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 适合任务。以上是关于从服务参考共享类型/模型到客户端的主要内容,如果未能解决你的问题,请参考以下文章