lo puedes hacer con un commandTimeout, dandole el tiempo que se requiera por procedimiento ejemplo:
Cita: public DataSet consultar_datos()
{
string resultado;
using (DataSet datacon = new DataSet())
using (SqlDataAdapter adapcon = new SqlDataAdapter())
using (adapcon.SelectCommand= new SqlCommand())
{
adapcon.SelectCommand.Connection = this.conexion();
adapcon.SelectCommand.CommandText = "usp_consultarpersonas";
adapcon.SelectCommand.CommandType = CommandType.StoredProcedure;
adapcon.SelectCommand.CommandTimeout = 40
try
{
adapcon.Fill(datacon);
}
catch (Exception ex)
{
resultado = ex.Message;
}
return datacon;
}
}
espero le sirva,