【发布时间】:2012-07-12 14:37:13
【问题描述】:
我有两个离线和在线数据库。
在存在离线数据库的系统上,我创建了一个计划的应用程序,它从离线数据库中提取记录并使用 WCF 和实体框架将它们推送到在线数据库。
应用程序一次拉出这批 10 条记录,然后推送它们。
大多数时候离线数据库中有大量记录需要放到在线数据库上。
所以一个循环执行
- 从离线数据库中拉取数据库。
- 将它们推送到 WCF。
- WCF 调用 DAL 层,这些记录已插入在线数据库中。
- 请求完成后,标记他们在离线数据库中上传的那批记录。
它运行了几次,然后它给出了错误
{"连接超时。在登录后阶段超时。连接可能在等待服务器完成登录过程并响应时超时;或者它可能在尝试创建多个活动时超时连接。尝试连接到此服务器的持续时间为 - [登录前] 初始化 = 3977;握手 = 7725;[登录] 初始化 = 0;身份验证 = 0;[登录后]完成 = 3019;“}
为什么会发生这种情况,我该如何解决?
【问题讨论】:
-
如果它一直保持连接打开,那将是正确的。也许关闭通话之间的连接?
-
@devlife 我相信 EF 我们不会手动打开和关闭连接。
-
这些数据库是否在同一个网络上?
-
@hugh 没有数据库在不同的网络上
-
SQL 服务器提供了两种跨网络复制的机制,Web 同步 (msdn.microsoft.com/en-us/library/ms151763.aspx) 和通过 VPN (msdn.microsoft.com/en-us/library/ms152569.aspx)。
标签: wcf entity-framework rest timeout