- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试围绕可能的瓶颈进行优化。
我有一个服务器应用程序,它为从数据库到远程应用程序的对象提供服务,它可以处理 1-n 个不同类型的 1-n 个对象(其中 n 可以是一个相对较大的数字),它们都实现了一个通用接口(interface)但可能包含不同类型的许多独特属性。
客户端应用程序将服务器对象存储在本地缓存中,直到它们准备好通过服务器将它们持久保存回数据库。
这是目前在 WCF 中完成的,每个类都定义了一个 DataContract。
由于可能需要将大量对象传回服务器(它会根据实现而变化),我不想再将这些全部作为单独的调用来执行,而是将所有对象包装在一个单个序列化(或更好的压缩)流并将它们作为一个连接发送到服务器。
我可以很简单地推出自己的方法,但更愿意使用推荐的方法,并希望有人可以提出建议。如果你能说服我,我也愿意接受我的方法可能不是最好的主意。
最佳答案
“相对高”有多高?
例如,出现的一个选项是使用包装器对象:
[DataContract]
public class Wrapper {
[DataMember(Order = 1)]
public List<Foo> Foos {get {...}}
[DataMember(Order = 2)]
public List<Bar> Bars {get {...}}
[DataMember(Order = 3)]
public List<Blop> Blops {get {...}}
}
那么您应该能够发送包含任意数量的 Foo
、Bar
和/或 Blop
记录的单个消息。我故意包含 Order
属性 - 如果您想减小流的大小,您可以考虑 protobuf-net - 通过上面的布局,protobuf-net 可以简单地通过在您想要攻击的方法(在操作契约(Contract)接口(interface)中)上包含 [ProtoBehavior]
来 Hook WCF(在客户端和服务器上)。这会将传输切换为使用 google 的“ Protocol Buffer ”二进制格式,使用 base-64 进行编码。如果您使用的是 basic-http 绑定(bind),如果启用,这也可以使用 MTOM,因此即使是 base-64 也不是问题。使用这个,你可以得到 significant data transfer savings (根据显示的数字,空间约为 1/5)。
(编辑 1 - protobuf-net 假定 Foo
、Bar
和 Blop
也使用Order
属性)
(编辑 2 - 请注意,您始终可以将请求分解为多个中等大小的 Wrapper
消息,然后在服务器上调用一个方法来应用所有更改(大概在数据库的临时表中))
关于c# - WCF Recommend 序列化多个对象的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/540340/
最近一篇关于 HTML5 的文章说,Proposed Recommendation 日期是 2022 年,Candidate Recommendation 日期是 2012 年。 我想知道“Propo
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是无关紧要的,因
我知道缩写SVM(Support Vector Machines)和 SVD(Singular Value Decomposition)并且 SVM 和 SVD 都用于推荐引擎。 用外行的话来说,这两
我想尝试构建一个推荐系统,我的意思是一种算法,可以查看用户发布的偏好和/或评论,然后为他们提出建议,类似于 netflix 或亚马逊使用的算法。 什么是学习如何编写这样的东西的好资源?我应该从哪里开始
这是一个理论问题。假设我已经实现了两种类型的协同过滤:基于用户的 CF 和基于项目的 CF(以 Slope One 的形式)。 我有一个很好的数据集供这些算法运行。但是我想做两件事: 我想向数据集添加
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭去年。 Improve th
我正在阅读 CF 中的一些论文,并注意到大多数最先进的方法仅基于评级矩阵上的不同分解方法。我想知道是否有一些将内容信息(例如用户特征和项目特征)组合成因式分解的代表性作品。有什么想法吗? 最佳答案 我
例如:我有一个像这样的主文件 userid itemid rating 1
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 7年前关闭。 Improve t
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 6年前关闭。 Improve this questi
我正在构建一个基于内容的电影推荐系统。很简单,只要让用户输入电影名称,系统就会找到特征最相似的电影。 在计算相似度并按降序排列得分后,我找到5个相似度得分最高的相应电影并返回给用户。 到目前为止,当我
我有这个问题:为 facebook 正确配置的页面: (我也尝试过:) (还有其他一些) 在head中,对应的OG代码:app_id、url、type、title、image、de
最近发现好几个网站都有“Recommended for You”之类的东西,比如youtube,或者facebook,可以研究我的使用行为,推荐一些内容给我... ...我会想知道他们如何分析这些信息
我在https://reactrouter.com/en/main/hooks/use-navigate中看到“在加载器和操作中使用重定向通常比在这个钩子中使用重定向更好”,所以我应该将useNavi
嘿,对于任何做过这件事的人来说,这只是一个简单的问题。我想创建一个视频管网站。我以前做过文件上传,但想知道是否有人可以就我打算做什么给我建议。 我计划的方式就是在我的网页目录下有一个文件夹,病毒扫描和
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 5年前关闭。 Improve this qu
在构建网站时,例如问答网站或社区论坛网站,仅了解 HTML、CSS、PHP、MySQL 和 javascript 是否足以使网站动态化? 我之所以这样说,是因为我和我的老师交谈时,他说主要网站使用多种
据我所知,Embedly刚刚开始将“推荐”视频的版本提升到YouTube在其“Cards”产品上嵌入的底部。有什么办法可以删除它们? Embedly Recommended Videos 我们将Emb
我想使用 prediction.io 构建推荐服务。我认为 Universal Recommender ( http://templates.prediction.io/PredictionIO/te
我是一名优秀的程序员,十分优秀!