应用程序目的:
我正在创建的应用程序将负责许多流程,但我目前正在构建一个价格馈送器,一种保存这些价格的方法,以及将这些价格发送到客户端应用程序的功能(作为概念证明)。这些价格将映射到称为“安全分析”和“安全价格日志”的实体。这两个实体具有相同的属性,但日志会记录收到的每个价格,其中分析只是保存每种证券的最新数据。
我目前正在尝试确定完成此任务的最有效和最稳定的方式。这方面的要求/要求是:
- 价格出现非常频繁(有时每秒会收到多个价格)
- 客户需要实时数据
- 价格每次进来都需要持久化到数据库
架构:
我相信这个应用程序适合 n 层架构。我正在考虑包括的层是(请原谅我对这些的命名):
- 实体层:构建模型的地方
- “工厂”:这将包含我的提要(大约有 10 个)、处理数据的逻辑、将数据转换为实体,并允许向客户公开数据
- 客户端层:我想给工厂暴露数据合约,让客户端可以消费工厂内的实时数据。我做了一些研究,我将使用 Pub-Sub 设计模式通过 WCF Web 服务完成这项工作
因此,有了所有这些背景信息和漫无边际的是我的问题:
- 拥有长时间运行的对象上下文有什么缺点?(我一直在读到我不应该这样做,但没有人明确说明原因或给出对我有用的替代方案)
- 如果我不断创建新的上下文,我提取到先前上下文中的数据在新上下文中是否可用?我担心当我向客户推送数据并处理许多新价格时,我会过于频繁地从数据库中提取数据。
- 我目前正在使用自我跟踪实体,并认为它们是此应用程序的正确选择,但如果有人有任何问题或智慧可以提供,我将不胜感激。
- 最后,创建我的“工厂”的最佳项目类型是什么?它将在 IIS 服务器上运行,我希望它接受我的所有数据馈送,并让客户端接受不同的复合(来自多个馈送)数据。我倾向于 WCF 服务应用程序,因为它可以让我轻松派生服务合同,但我不确定这是否是正确的选择。
感谢您对此提供的任何帮助。另外,我为这篇文章的长度道歉,我对实体框架的工作方式以及我应该从哪里开始感到非常迷茫。谢谢!
编辑:感谢大家的回复。我现在必须转移到别的东西上,但我会在本周晚些时候有机会时回顾这些。