首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同步2 .net应用程序

同步2 .net应用程序
EN

Stack Overflow用户
提问于 2011-05-11 13:54:27
回答 2查看 929关注 0票数 2

早上/下午/晚上好!

有两个系统-客户关系管理(定制SplendidCRM)и家庭短消息怪物(crm+cms+backoffice)。

  1. CRM - Asp.Net 2.0 WebSite,Server 2008;使用视图、存储过程、触发器实现;例如,审计被实现为触发器+ SP;WebSite是一个简单的UI;Ado DataSets用作Dtos
  2. 家酿怪物- Asp.Net 3.5 WebApplication,SqlServer 2008;使用ListToSql实现;SqlServer仅用作存储;所有逻辑和审计都用c#代码实现;as的设计器生成的类用作Dtos。

我需要在它们之间实现‘双工’同步:

代码语言:javascript
复制
object is updated in Crm -> changes are applied in home-brewed monster
object is updated in home-brewed monster -> changes are applied in Crm

同步应该工作在“几乎实时模式”-延迟是可以接受的。没有太多的数据--目前大约有35000个对象和120000个审计条目,最多可以有100000个对象。对象也不太大(数据库中有60列)。

对于这两个系统,都有一个允许更新的Api :用于Crm的Web服务和用于自制怪物的Wcf服务。由于怪物的存在,更改只能通过Wcf服务应用(例如,对于审计工作而言)。至于Crm,它可以通过Web服务调用或直接SP调用来更新(但Web服务更好)。

目前,Crm中有包含对象外部ID的列,并且存在某种同步,但需要更健壮和专业的解决方案。

由于某些原因(管理员失败或应用了错误的更新),这两个系统都可能“脱机”。这不应影响同步-所有更新都应在系统恢复后立即应用。重要的是,来自家庭酿造的怪物的数据具有更高的优先级,并且应该覆盖来自Crm的更改。

问题是哪种技术/库更适合使用?如果同步可以“从系统中删除”(系统会触发数据已经更改的事件,而外部工具会同步更改),那就太好了。这是由于系统和同步规则经常发生更改--例如,在某些条件下从Crm中删除对象的第一个“版本”,第二个版本没有删除而是导出较少的数据,在“第三个版本”中,两个系统都添加了更多的公共字段。这种变化将在未来出现,所以我不想触及其他系统(或它们以外的系统),而只是更改同步规则。

EN

回答 2

Stack Overflow用户

发布于 2011-05-11 14:04:28

在使用Microsoft框架一段时间之后,您可能需要查看我不确定我会亲自推荐。它使用一个同步程序在两个或多个系统之间,这样听起来它可以满足您的需求。

票数 0
EN

Stack Overflow用户

发布于 2011-05-11 14:36:25

我知道您正在讨论同步应用程序,但考虑使用SQL Server同步数据可能会更好(IMHO)。这可以通过触发器、作业和/或包来完成。

触发器将使您能够在发生更改时“同步”(IE:实时),而其他更改可能会延迟。

这将取决于您的环境,数据库所在的位置(IE:同一台服务器,两台不同的服务器),以及您在创建自己的“同步”过程中的舒适程度。

编辑:

如果您真的认为它应该是基于应用程序的同步,那么您可能会更好地滚动您自己的解决方案。考虑到这两个应用程序的高度自定义性质,可能很难找到您需要的行为方式。

在这种情况下,我可能只需要使用带有实体框架和LINQ的普通旧.net。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5965404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档