با سلام و وقت بخیر
بنده یک سیستم حضور و غیاب با زبان برنامه نویسی سی شارپ و دیتابیس SQL server و تکنولوژی RFID برای یک مدرسه که دارای حدود 340 دانش آموز می باشد طراحی نموده ام که وضعیت تردد دانش آموزان و پرسنل آموزشگاه را کنترل و پیامک های ورود، خروج، تأخیر، غیبت و... ارسال می کند. برنامه هنگام تست مشکلی نداشت و پیامک ها ارسال می شد اما زمانی که دیروز برنامه را برای اولین بار در مدرسه تست نمودم متوجه هنگ کردن برنامه هنگام ارسال پیامک و پس از ثبت تردد تعداد کمی از دانش آموزان شدم که متأسفانه منجر به عدم کارکرد صحیح و خروج از برنامه می شد. لازم به ذکر است که بنده از کد پترن سی شارپ که از سامانه پیامک فراز اس ام اس دریافت نمودم جهت ارسال پیامک ها استفاده کردم.
میخواستم بدانم دلیل رخ دادن این موضوع چیست آیا ارتباطی به کندی سرعت یا اختلال اینترنت دارد یا اینکه سامانه پیامکی نمی تواند این تعداد پیامک را در زمان خیلی کم هندل کند.چون باید ظرف 10 دقیقه 340 پیامک یعنی تقریباً هر دو ثانیه یک پیامک ارسال شود. اگر اینگونه است بنده چگونه می توانم این مسئله را مدیریت کنم که برنامه در هر صورت به کار خود ادامه داده و بسته نشود. کدهای مربوطه جهت بررسی به حضورتان ارسال می گردد.پیشاپیش از پاسخگویی و راهنمایی شما سپاسگزارم.
{
listOfEntranceStudents.Add(memberID);
if (delay_mode == true)
{
listOfDelayStudents.Add(memberID);
}
if (exit_mode == true)
{
listOfExitedStudents.Add(memberID);
}
if (Properties.Settings.Default.Send_SMS_Status == true)
{
try
{
PanelSMS.smsserver client = new PanelSMS.smsserver();
var username = Properties.Settings.Default.SMS_Panel_Username;
var password = Properties.Settings.Default.SMS_Panel_Password;
var fromNum = Properties.Settings.Default.SMS_Panel_FromNum;
string[] toNum = { selected.Mobile };
if (exit_mode == false && delay_mode == false)
{
if (Properties.Settings.Default.Entry_SMS_Status == true)
{
var patternCode = Properties.Settings.Default.PaternCode_Entry; //پترن کد پیامک ورود
var data = new PanelSMS.input_data_type[] {
// key is your parameter name and value is what you want to send to the receiptor
new PanelSMS.input_data_type(){ key = "name",value = selected.Name} ,
new PanelSMS.input_data_type(){ key ="time",value = CurrentTime()}
};
var response = client.sendPatternSms(fromNum, toNum, username, password, patternCode, data);
}
}
else if (exit_mode == false && delay_mode == true)
{
if (Properties.Settings.Default.Delay_SMS_Status == true)
{
var patternCode = Properties.Settings.Default.PaternCode_Delay; // پترن کد پیامک تأخیر
var data = new PanelSMS.input_data_type[] {
// key is your parameter name and value is what you want to send to the receiptor
new PanelSMS.input_data_type(){ key = "name",value = selected.Name} ,
new PanelSMS.input_data_type(){ key ="time",value = CurrentTime() }
};
var response = client.sendPatternSms(fromNum, toNum, username, password, patternCode, data);
}
}
else if (Properties.Settings.Default.Exit_SMS_Status == true)
{
var patternCode = Properties.Settings.Default.PaternCode_Exit; // پترن کد پیامک خروج
var data = new PanelSMS.input_data_type[] {
// key is your parameter name and value is what you want to send to the receiptor
new PanelSMS.input_data_type(){ key = "name",value = selected.Name} ,
new PanelSMS.input_data_type(){ key ="time",value = CurrentTime() }
};
var response = client.sendPatternSms(fromNum, toNum, username, password, patternCode, data);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}```
سلام وقتتون بخیر!
حس میکنم بخاطر این هست که سرویس دهنده شما برای sms دیر جواب میده
شما یا باید thread استفاده کنی یا یچیزی مثل background worker
یا بیای اون تابع رو async کنی
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟