برنامه نویسی غیر همزمان - ارسال پیامک به صورت async

4 از 5 (3 رای)

برنامه نویسی غیر همزمان - ارسال پیامک به صورت async یا غیر همزمان در #C

کاربر انتظار دارد برنامه ای که با ان کار می کند به سرعت به درخواست ها پاسخ بدهد و در زمان پردازش  عملیات ، freeze نشود (هنگ نکند) .

به عنوان یک برنامه نویس ، حتما تا حالا به این مورد برخوردید که وقتی یک درخواست طول میکشد ، دیگر برنامه قادر به انجام کار دیگری نیست تا اینکه کار قبلی انجام شود.

مثلا فرض کنید میخواهید یک فایل را اپلود کنید یا یک درخواست به سرور بفرستید ، اما سرعت اینترنت کاربر بسیار کند باشد ، در نتیجه کاربر تا زمانی که اپلود تکمیل نشود ، نمی تواند کار دیگری انجام شود.

چاره کار برنامه نویسی غیر همزمان است .

در واقع در این روش ، درخواست شما شروع به پردازش می کند و تا زمانی که نتیجه ان اماده نشده ، شما می توانید عملیات دیگری را پردازش نمایید و دیگر برنامه شما هنگ نخواهد کرد.

در تصویر نمونه زیر قبل از DONE می تواند 3 عملیات را همزمان اجرا کرد.

ارسال-پیامک-async-غیر-همزمان

 

به طور مثال برای برنامه نویسی غیرهمزمان می توان وب سرویس ارسال پیامک پارس گرین را مثال زد .

قطعه کد زیر ارسال پیامک وب سرویس پیامک پارس گرین به صورت async را نمایش میدهد.

بنابراین درخواست ارسال پیامک شما به سرور ارسال می شود و تا زمانی که نتیجه ارسال از سرور باز میگردد، شما می توانید عملیات دیگری را پردازش نمایید.

البته وب سرویس پیامک پارس گرین هم به روش sync و هم به روش async  قابل استفاده است.

 

using System;

namespace ConsoleApp13
{
    class Program
    {

        static void Main(string[] args)
        {

            var api = new com.parsgreen.login.SendSMS();
            api.SendCompleted += Api_SendCompleted;

            string str = "";
            object us = null;
            api.SendAsync("31B00D62-1B3D-4925-8AA9-CV88EEDB10B1", "09120001000", "ok", str, us);
            Console.ReadKey();
        }

        private static void Api_SendCompleted(object sender, com.parsgreen.login.SendCompletedEventArgs e)
        {
            int return_val = e.Result;
            var ret_str = e.retStr;
        }
    }
}
 

کد BSC : -709516076184620181476357055-10684;