首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >亚音速中的RetryPolicy

亚音速中的RetryPolicy
EN

Stack Overflow用户
提问于 2011-04-25 22:12:11
回答 1查看 64关注 0票数 1

我正在使用亚音速与一个SqlAzure数据库,它工作得很好。我想通过实现this blog article中提到的建议的最佳实践来改进我的应用程序。

根据这篇文章,我可以这样做:

代码语言:javascript
复制
var sqlAzureRetryPolicy = ... code omitted ...;
return sqlAzureRetryPolicy.ExecuteAction<IEnumerable<Product>>(() =>
{
    // Invoke a LINQ query.
    return result;
});

然而,这将意味着我将不得不将此代码片段复制并粘贴到我的解决方案中,我认为这将是乏味和容易出错的,我的团队其他成员可能会忘记,等等。我不认为这是最好的解决方案,我想知道是否有更好的方法。

有没有人有关于如何做的建议?

EN

回答 1

Stack Overflow用户

发布于 2011-04-28 22:07:24

你是否考虑过实现一个扩展方法?您可以将一个方法“添加”到现有的类中(包括本例中的IEnumerable和IQueryable ),使其看起来像是类的一部分。扩展方法对于集中这类代码非常有用。下面是一篇简单的文章,展示了如何扩展string类:http://www.developer.com/net/csharp/article.php/3592216/Using-the-New-Extension-Methods-Feature-in-C-30.htm

我个人使用扩展方法(我创建了一个TryOpen和TryExecuteReader)来做您想做的事情,但是是针对SqlCommand和SqlConnection类。因此,我的代码示例对LINQ没有帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5779209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档