السلام عليكم ورحمة الله أعزائ أعضاء المنتدى الكريم أنا حاليا شغال على مشروع إرسال Bulk SMS الفكره من هذا المشروع هي القيام بإرسال رسائل إلى الموبايلات طبعا عدد المستقبلين هو 100000 في كل مره على حسب خبرتي في البرمجه إذا إعتمدت على ال For loop في هذه المسأله طبعا ستأخذ مني وقت طويل جدا لإنهاء الإرسال علما بأن عمليه الإرسال لكل رقم وإنتظار تقرير الإستلام تأخذ حوالي 3 ثواني يعني سوف تأخذ النهار بطوله هههههههههههه المهم انا فكرت في إستخدام ال Thread لإرسال كل رقم لوحده في نفس الوقت لكن واجهتي مشكله وهي ان ال Function الذي يقوم بإرسال الرساله يجب أن نمرر له قيمه وهي رقم الموبايل وهذه طبعا ممنوعه في ال Thread لذا أرجو منكم المساعده في إيجاد طريقه لتمرير هذه القيمه ويمكنكم مشاهدة ال Function في الأسفل طبعا مع العلم انني لا أريد أن يحدث أي نوع من الجمود للبرنامج أثناء الإرسال يعني في شغله إسمها BackgroundWorker على ما أظن وأنا حاب أعرف طريقة إستخدامها شكرا لكم جميعا [code]Thread[] thrdMobileNumber;
thrdMobileNumber = new Thread[intNumOfMob];
for (int i = 0; i < thrdMobileNumber.Length; i++)
{
thrdMobileNumber = new Thread(new ThreadStart(SendBulckSMS));
thrdMobileNumber.Name = arlBulckNumber.ToString();
thrdMobileNumber.Start();
}private void SendBulckSMS()
{
string Url = "http://localhost:3311/getvalue/Default.aspx?Name=" + thrdMobileNumber.;
ASCIIEncoding encoding = new ASCIIEncoding();
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(Url);
myRequest.Method = "POST";
Stream newStream = myRequest.GetRequestStream();
newStream.Close();
HttpWebResponse resp = null;
try
{
resp = (HttpWebResponse)myRequest.GetResponse();
}
catch (Exception ex)
{
//Exceptions.Add(ex);
}
StreamWriter myWriter = null;
try
{
myWriter = new StreamWriter(resp.GetResponseStream());
//myWriter.Write(data);
}
catch (Exception e)
{
//Exceptions.Add(e);
//return VatCheckOk.NotChecked;
}
finally
{
//myWriter.Close();
}
HttpWebResponse objResponse = (HttpWebResponse)myRequest.GetResponse();
using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
{
string result = sr.ReadToEnd();
arlResult.Add(result);
sr.Close();
}