Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 关于连接两个独立系统的想法。一个是windows应用程序,另一个是Web应用程序_C#_Asp.net_Web Services_Interface_Desktop Application - Fatal编程技术网

C# 关于连接两个独立系统的想法。一个是windows应用程序,另一个是Web应用程序

C# 关于连接两个独立系统的想法。一个是windows应用程序,另一个是Web应用程序,c#,asp.net,web-services,interface,desktop-application,C#,Asp.net,Web Services,Interface,Desktop Application,我正在寻找两个独立系统无缝对话的方法。如上所述,一个是Oracle DB上的.NET web应用程序,另一个是MSSQL DB上的.NET Windows应用程序。由于这种交互必须在桌面应用程序和web应用程序之间进行,因此我们必须想出为这两个系统创建web服务的想法 服务A将公开从MSSQL添加/更新/获取数据的方法 桌面应用程序使用的数据库 服务B将公开从Oracle添加/更新/获取数据的方法 Web应用程序使用的数据库 Web应用程序使用服务A。桌面应用程序使用服务B。现在我的问题是,

我正在寻找两个独立系统无缝对话的方法。如上所述,一个是Oracle DB上的.NET web应用程序,另一个是MSSQL DB上的.NET Windows应用程序。由于这种交互必须在桌面应用程序和web应用程序之间进行,因此我们必须想出为这两个系统创建web服务的想法

  • 服务A将公开从MSSQL添加/更新/获取数据的方法 桌面应用程序使用的数据库

  • 服务B将公开从Oracle添加/更新/获取数据的方法 Web应用程序使用的数据库

Web应用程序使用服务A。桌面应用程序使用服务B。现在我的问题是,两个系统保持同步的好方法是什么。例如,如果服务a和Web应用程序之间的通信出现故障,如何确保两个系统上的数据完整性


建议安排每天运行的windows服务。但是按要求做怎么样?我们讨论的是从双方开始至少更新20-25个表。

最可靠的方法是在数据库中创建触发器,以调用外部同步应用程序


数据多久更改一次?它是在两个系统中都发生了变化,还是仅仅在其中一个系统中发生了变化?DB触发器可能适用于相对较小的事务量,但如果触发太多相同的触发器,则可能会用锁覆盖数据库。您可能希望将更新发送到第三个中间数据库,并让这两个系统从那里刷新自己。答案很多,但都取决于这些系统的性质。我非常接近于投票结束这一问题,要么过于含糊,要么缺乏建设性。请提供有关这些应用程序之间交互的更多详细信息。特别是,web和桌面应用程序都是由用户驱动的;相同的用户会同时使用这两种功能吗?你需要什么样的同步?这两个应用都是由用户驱动的。web应用程序将由一组用户驱动,如预约调度员、医生、护士等。另一个应用程序将由计费用户驱动。一个典型的场景是这样的-一个程序/检查被安排、执行、完成并最终由医生在Web应用程序中签字。该点之后的数据必须到达桌面应用程序,以便为从桌面应用程序计费和提交索赔的用户计费。每次在Web应用程序中的该点之后进行任何更正/更改时,都应在桌面应用程序中进行回复,以确保正确的billing.DB触发器已经过尝试和测试。如果webservices不能提供足够的同步,则将其保留为备份机制。谢谢你的意见。