如何从Microsoft.Practices.EnterpriseLibrary.TransientFaultHandl

本文关键字:EnterpriseLibrary TransientFaultHandl Practices Microsoft | 更新日期: 2023-09-27 18:00:57

嗨,我是新Azure SQL Server的新手。我正在尝试连接SQL服务器,并通过调用那里的存储过程从那里返回一些数据。我传递两个参数,如用户名和密码,然后从存储过程中获取有效用户的用户详细信息。

若要连接Azure SQL server,我正在使用Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling从应用程序进行连接,并使用此链接中提到的相同代码https://msdn.microsoft.com/en-us/library/dn961167.aspx。但在这里,它使用public Action IssueQueryCommand_action;来执行针对连接的任何操作。在这种情况下,它不会返回任何结果。我想从上面链接中提到的ExecuteAction中获得DataReader

// [A.1] Connect, which proceeds to issue a query command.
                this.connectionRetryPolicy.ExecuteAction(this.EstablishConnection_action);

有一个选项我可以使用ExecuteAction<TResult>,如中所述https://msdn.microsoft.com/en-us/library/microsoft.practices.enterpriselibrary.transientfaulthandling.retrypolicy.executeaction%28v=pandp.60%29.aspx

但不知道如何使用RetryPolicy.ExecuteAction Method 调用以下方法

public bool IsValidUser(string UserMail, string Password)
    {
        using (SqlCommand sqlCommand = this.rsConnection.CreateCommand())
        {
            sqlCommand.CommandText = ConstantsDAL.SP_IS_VALID_USER;
            sqlCommand.CommandType = System.Data.CommandType.StoredProcedure;
            return Convert.ToBoolean(sqlCommand.ExecuteScalar());
        }
    }

你能帮我如何使用RetryPolicy.ExecuteAction方法来获取标量值或数据读取器吗。

如何从Microsoft.Practices.EnterpriseLibrary.TransientFaultHandl

该解决方案可以在MSDN上找到https://social.msdn.microsoft.com/Forums/en-US/ca9a2344-d09b-4c64-a88b-fbd42360b876/how-to-retun-value-from-retrypolicyexecuteaction-in?forum=ssdsgetstarted

要转发MSDN答案,请使用以下命令:

connectionRetryPolicy.ExecuteAction( ()=> { IsValidUser (parameter1, parameter2); });

相关文章:
  • 没有找到相关文章