Службы RIA WCF и временная обработка ошибок SQL Azure - PullRequest
1 голос
/ 11 февраля 2012

Есть ли опубликованное руководство по обработке сценариев переходных сбоев в SQL Azure при использовании служб WCF RIA, поддерживаемых Entity Framework и / или Linq to SQL?

Мы изучили библиотеку повторных попыток CAT ( TransientПлатформа обработки ошибок для SQL Azure ) и документация ( Логика повторных попыток для временных сбоев в SQL Azure ), в частности, разделы, связанные с Entity Framework и Linq to SQL.

ДляНапример, в случае Linq to SQL мы проинструктированы обернуть наш код запроса / обновления в ExecuteAction и выполнить его с RetryPolicy.

Эта статья ( Silverlight 4, EF 4, RIA Services& Windows Azure вместе ) предполагает, что лучшее, на что мы можем надеяться, - это повысить устойчивость соединения.Однако, похоже, что мы можем получить желаемый результат, переопределив метод PersistChangeSet в LinqToEntitiesDomainService и LinqToSqlDomainService и добавив туда нашу повторную попытку.

Например (псевдокод)

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

    return e.Result;
 }

Любые мыслиэтот подход?Существует ли какая-либо документация или руководство, в частности, относящиеся к RIA Services?

1 Ответ

1 голос
/ 19 марта 2012

Изначально это был комментарий, но ...

Недавно я использовал класс RetryPolicy с каркасом сущностей и не столкнулся с проблемами.Добавление повторов чрезвычайно просто и малоэффективно.

Ссылка на статью датирована (30 мая), то есть до того, как была добавлена ​​поддержка Azure в корпоративную библиотеку.( см. Это объявление )

Поэтому, исходя из описанного выше сценария, я бы сказал, что RetryPolicy будет удовлетворять описанным требованиям.

...