c# - 将大量 DTO 发送回客户端
问题描述
我准备了一个具有 10 个字符串属性的 DTO。我需要将这些 DTO 的 500 个对象的集合从 WCF 服务传递给客户端。
//DTO with object info
[DataContract()]
public class RTVPIDObj
{
public RTVPIDObj()
{
}
[DataMember()]
public string OBID { get; set; }
[DataMember()]
public string UID { get; set; }
[DataMember()]
public string NAME { get; set; }
[DataMember()]
public string DESCRIPTION { get; set; }
.
.
.
.
}
每当用户请求时,我需要传递一个选定对象的属性,该对象通常包含来自 WCF 服务的 500 个字符串属性。
//DTO with properties info
[DataContract()]
public class RTVPIDProp
{
public RTVPIDProp()
{
}
[DataMember()]
public List<Tuple<string, string>> Properties { get; set; }
}
我可以在请求时传递此属性 DTO,但在服务器端即时准备该属性 DTO 需要很长时间。
所以我正在考虑一次传递对象 DTO 的集合,其中每个对象也包含属性 DTO。
//DTO with object info and properties info
[DataContract()]
public class RTVPIDObj
{
public RTVPIDObj()
{
}
[DataMember()]
public string OBID { get; set; }
[DataMember()]
public string UID { get; set; }
[DataMember()]
public string NAME { get; set; }
[DataMember()]
public string DESCRIPTION { get; set; }
.
.
.
.
[DataMember()]
public List<Tuple<string, string>> Properties { get; set; }
}
在一些后台进程的帮助下,我也可以轻松地准备这个带有属性的集合。然后,无论何时在客户端选择对象,都无需进行多次客户端-服务器调用。
这种将巨大的 DTO(500 个对象,其中每个对象由 500 个字符串集合属性组成)的方式传递给客户端是一种不好的方法吗?并且发送这种巨大的DTO本身需要很长时间???还有其他方法可以实现这一目标吗?
解决方案
推荐阅读
- reactjs - 如何将 URL 参数从反应路由器发送到工具栏?
- vuforia - Vuforia Android Studio 由于异常没有 DRP 密钥
- python - 九月 = '|' 在熊猫数据框中无法正常运行
- javascript - 将 UDP 数据包从一个端口转发到另一个端口
- typescript - TypeScript “lib” 选项的真正作用是什么?
- c# - 获取服务 .net 核心中的 appsettings.json 值
- react-native - 如何在 react-Native 中使用 Tab Navigation 传递数据?(反应导航)?
- google-api - 我们可以通过我们的 ACCESS_TOKEN 获取其他人的信息吗
- angular - angular 5 应用程序是否有第三方日期选择器
- c# - Xamarin EF Core 数据播种