WCF RIA服务和SQL Azure瞬态错误处理

在使用由实体框架和/或Linq to SQL支持的WCF RIA Services时,是否有任何已公布的指导来处理SQL Azure中的瞬态故障情形?

我们研究了CAT重试库(用于SQL Azure的瞬态故障处理框架)和文档(用于SQL Azure中的瞬态故障的重试逻辑),特别是与实体框架和Linq to SQL相关的章节。

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

本文(Silverlight 4,EF 4,RIA Services和Windows Azure)表明,我们希望的最好的方式是为连接添加弹性。 但是,看起来我们可能通过覆盖LinqToEntitiesDomainService和LinqToSqlDomainService上的PersistChangeSet方法并在其中添加重试来获得我们想要的结果。

例如(伪码)

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

    return e.Result;
 }

对这种方法有什么想法? 那里是否有任何文件或指导,具体涉及RIA服务?


这本来是一个评论,但...

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

链接文章的日期是(5月30日),这是在他们向企业图书馆添加对azure的支持之前。 (见本公告)

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

链接地址: http://www.djcxy.com/p/90225.html

上一篇: WCF RIA Services and SQL Azure transient fault handling

下一篇: Using Entity Framework with SQL Azure