WCF RIA服务和SQL Azure瞬态故障处理

时间:2012-02-10 20:27:14

标签: error-handling wcf-ria-services azure-sql-database

在使用由Entity Framework和/或Linq to SQL支持的WCF RIA服务时,是否有任何已发布的指导用于处理SQL Azure中的瞬态故障方案?

我们研究了CAT重试库(Transient Fault Handling Framework for SQL Azure)和文档(Retry Logic for Transient Failures in SQL Azure),特别是与实体框架和Linq to SQL相关的部分。

例如,在Linq to SQL的情况下,我们被指示将查询/更新代码包装到ExecuteAction中并使用RetryPolicy执行它。

本文(Silverlight 4, EF 4, RIA Services & Windows Azure together)表明,我们所希望的最好的方法是为连接添加弹性。但是,似乎我们可以通过覆盖LinqToEntitiesDomainService和LinqToSqlDomainService上的PersistChangeSet方法并在那里添加我们的重试来获得我们想要的结果。

e.g。 (伪代码)

 protected override bool PersistChangeSet()
 {
    e.Result = retry.ExecuteAction(() =>
        {
            return base.PersistChangeSet();
        });

    return e.Result;
 }

对这种方法有什么想法?是否有任何文件或指导,特别是与RIA服务有关?

1 个答案:

答案 0 :(得分:1)

这最初是评论但是......

我最近在实体框架中使用了RetryPolicy类,没遇到任何问题。 添加重试非常简单且影响很小。

链接的文章日期(5月30日)是在他们向企业库添加对azure的支持之前。 (see this announcement

因此,根据上述情况,我会说RetryPolicy将满足所描述的要求。

相关问题