/// <summary> /// <see cref="IAdoRepository.ExecuteScalarByProcedure"/> 를 비동기 방식으로 수행하는 <see cref="Task{TResult}"/>를 빌드합니다. /// </summary> /// <param name="repository"><see cref="IAdoRepository"/> 인스턴스</param> /// <param name="spName">실행할 Procedure Name</param> /// <param name="parameters">파라미터 정보</param> /// <returns>Scalar 값을 결과값으로 가진 Task</returns> public static Task <object> ExecuteScalarTaskByProcedureAsync(this IAdoRepository repository, string spName, params IAdoParameter[] parameters) { repository.ShouldNotBeNull("repository"); spName.ShouldNotBeWhiteSpace("spName"); if (IsDebugEnabled) { log.Debug("비동기 방식으로 ExecuteScalarByProcedure()을 수행합니다... spName=[{0}], parameters=[{1}]", spName, parameters.CollectionToString()); } return(Task.Factory.StartNew(() => repository.ExecuteScalarByProcedure(spName, parameters))); }