Amhed,没有简单的方法可以做到这一点,在 Azure 中使用 Umbraco 的人通常会遇到导致连接问题的会话状态问题,但正如您所说,您只捕获了 1%,这意味着您正在处理暂时性错误。您可能已经在这里看到了讨论
http://our.umbraco.org/forum/core/general/27179-SQL-Azure-connectivity-issues?p=1
最终效果是您必须使用 umbraco 代码库并在其中使用重试框架重新构建它。这给使用 Umbraco 和获取未来版本带来了严重的开销。你最好游说 Umbraco 核心团队建立一个完整的重试框架并支持它。(让我们甚至不谈论安全问题;)
这可能不是您想听到的,但实际上它是您自己的数据层时间。
说了这么多,我去看看:;)(因为这确实让我对别的东西感兴趣)
虽然从查看他们正在使用的 Umbraco 中的源代码作为起点
Microsoft.ApplicationBlocks.Data
作为建立连接和执行 SQL 命令的基础
从查看 umbraco.DataLayer.SqlHelpers.SqlServer.SqlServerHelper
使用 SH = Microsoft.ApplicationBlocks.Data.SqlHelper;
所以我的猜测是你需要替换这个块。在互联网上进行快速(肮脏)搜索
http://www.sharpdeveloper.net/source/SqlHelper-Source-Code-cs.html
您可以反映课程以确保。
然后,您可以使用瞬态故障处理框架进行重建,然后您可以有效地降低 dll 更改的潜力(著名的遗言)。
但你至少可以得到
使用 (ReliableSqlConnection conn = new ReliableSqlConnection(connString, retryPolicy))
轻松上那种类型的课和更可爱的东西。
http://msdn.microsoft.com/en-us/library/hh680899(v=pandp.50).aspx
如果我要这样做,这就是我要开始的地方,我会进入那个级别。
我不确定这是否会覆盖 100% 的连接集,因为我没有在 umbraco 代码库中积极工作,所以这是最好的猜测,但看看源代码,这是我将开始并改变并看起来是你最好的起点.
hths,
詹姆士