Learning from Cloud Cover Show

Episode 68 - Throttling in SQL Azure with Scott Klein

reference : http://geekswithblogs.net/ScottKlein/archive/2012/01/27/understanding-sql-azure-throttling-and-implementing-retry-logic.aspx

What can Ido for the throttling?

                -Retry using enterprise library

                                -EntrpriseLibrary.WindowsAzure.TransientFaultHandling(can download from  NuGet)

                                C#

                                                usingMicrosoft.Practices.EnterpriseLibrary.WindowsAzure.TransientFaultHandling.SQLAzure;

                                                usingMicrosoft.Practices.TransientFaultHandling;

                                                usingSystem.Threading.Task;

                                                usingSystem.Data.Sqlclient;

                                                usingSystem.Data.EntityClient;

                                               

                                                //DefaultRetry Policy

                                                using(var conn=new ReliableSqlConnection(constring))

                                                {

                                                                conn.Open();

                                                               

                                                                using(var cmd=conn.CreateCommand())

                                                                {

                                                                                cmd.CommandText="";

                                                                               

                                                                                using(var rdr=cmd.ExecuteNonQueryWithRetry()

                                                                                {

                                                                                               

                                                                                }

                                                                }

                                                }

                                               

                                                //CustomRetry Policy

                                                RetryPolicymyPolicy=new RetryPolicy<SqlAzureTransientErrorDetectionStrategy>(...)

                                               

                                                //wecan use retry event to get the information that why you retry

                                               

                                                //oneretry policy for connection, one retry policy for command

                                                using(ReliableSqlConnectionconn=new ReliableSqlConnection(connsring, myPolicy, myPolicy))

                                                {

                                               

                                                }

                                               

                                                //usingSQLConnection with Retry

                                                SqlConnectionconn=new SqlConnection();

                                                conn.OpenWithRetry()

                                               

                                                //EntityFramework

                                               

                                                using(NorthwindEntities context =new NorthwindEntities(connstring))

                                                {

                                                                RetryPolicymyPolicy=new RetryPolicy<SqlAzureTransientErrorDetectionStrategy>(...);

                                                                Employeee1 = myPolicy.ExecuteAction<Employee>(() =>

                                                                (fromx in dc.Employees

                                                                                wherex.LastName == "King"

                                                                                selectx).First());

                                                }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值