public virtual ObjectResult<ART_USP_GetAssetReportGridList_Result> ART_USP_GetAssetReportGridList(string searchExpression, string sortExpression, string sortDirection, Nullable<int> startIndex, Nullable<int> pageSize, ObjectParameter count)
{
var searchExpressionParameter = searchExpression != null ?
new ObjectParameter("SearchExpression", searchExpression) :
new ObjectParameter("SearchExpression", typeof(string));
var sortExpressionParameter = sortExpression != null ?
new ObjectParameter("SortExpression", sortExpression) :
new ObjectParameter("SortExpression", typeof(string));
var sortDirectionParameter = sortDirection != null ?
new ObjectParameter("SortDirection", sortDirection) :
new ObjectParameter("SortDirection", typeof(string));
var startIndexParameter = startIndex.HasValue ?
new ObjectParameter("StartIndex", startIndex) :
new ObjectParameter("StartIndex", typeof(int));
var pageSizeParameter = pageSize.HasValue ?
new ObjectParameter("PageSize", pageSize) :
new ObjectParameter("PageSize", typeof(int));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<ART_USP_GetAssetReportGridList_Result>("ART_USP_GetAssetReportGridList", searchExpressionParameter, sortExpressionParameter, sortDirectionParameter, startIndexParameter, pageSizeParameter, count);
}
ここART_USP_GetAssetReportGridListは、ストアドプロシージャの名前です。これは同期呼び出しです。レコードの数が3000を超える場合、この呼び出しによってタイムアウトエラーが発生します。
タイムアウトエラーが発生することなくこの呼び出しを非同期で行う方法はありますか?
いけないSQL往復あたり100の以上の記録(pageSizeを)を許可してみてください。解決策は非同期コールspではなく、すでに持っているページングメカニズムの恩恵を受けることです。 –
レコードをグリッドビューにバインドするときにページングメカニズムが使用されます。しかし、私は輸出にも同じ方法を使っています。そのため、ページサイズは合計レコードになります。その場合、ページサイズでコールを制限することはできません。 – AJIN