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