اجرای ناهمگام و غیر همزمان TSQL یا S.P که توسط SqlCommand جاری در حال اجراست

متد BeginExecuteNonQuery یک پروسه اجرای ناهمگام دستورات TSQL راکه سطری بر نمی گرداند ، آغاز می کند و دیگر Task ها می توانند همزمان مادامی که Task جاری در حال اجرا است ، نیز ، اجرا شوند.هنگامی که فعالیت به پایان رسید ، باید تابع EndExecuteNonQuery را برای اعلام پایان آن Task فراخوانی کرد .

لازم به ذکر است که CommandTimeoutهیچ تاثیری روی BeginExecuteNonQuery ندارد .همچنین تا زمانی که EndExecuteNonQuery فراخوانی نشده است نباید هیچ دستور اجرایی دیگری (چه همگام و چه ناهمگام ) از همان SqlCommand فراخوانی شود . و نیز ترجیحا از Stored Procedure با پارامترهای کم استفاده کنید ، چرا که CommandText طولانی یا پارامترهای زیادی که بصورت همگام برای سرور ارسال شوند ، می توانند مشکل ساز شوند لازم به ذکر است که باید تغییراتی در ConnectionString انجام داد و خاصیت Asynchronous Processing=true را قرار داد .

برای توضیحات بیشتر و مشاهده نمونه کد به منبع مراجعه نمایید .

پیام بگذارید