PDA

View Full Version : اجرا نشدن به ترتیب کدهای C#



resident
سه شنبه 07 دی 1395, 10:31 صبح
سلام.
من یه فانکشنی نوشتم برای دریافت ایمیل
که تو اون به ازاء تک تک ایمیل هایی که دارم ، ایمیل ها رو دریافت میکنه. با Quartz هم زمانبندی گذاشتم که هر 15 دقیقه یکبار بره ایمیل ها رو دریاقت کنه.

مشکلی که دارم اینه که کدها تو foreach ، کدها به ترتیب و خط به خط انجام نمیشه و همین کار منو دچار مشکل کرده.
وقتی trace کردم این مشکل رو فهمیدم.

foreach (var EmailAccount in EmailAccounts)

{

}


حتی مثلا در حال اجرای کدهای میانی همین foreach هست، یهو برمی گرده به اول همین foreach و دوباره میره سراغ ایمیل ها از اول
لطفا راهنماییم کنید

کارم ضروریه :(

malloc
سه شنبه 07 دی 1395, 10:42 صبح
تا اونجا که میدونم قطعا پشت سر هم اجرا میشن اما بعضی اوقات هست که وقتی با ایجکس کدی رو میخونید بخاطر کلاینت ساید بودن یا از طریق دیگه ای دوتا (یا چندتا) وظیفه پشت سر هم اجرا میشن که توی trace کردن از این خط به اون خط میپره .... والا در کل درسته

resident
سه شنبه 07 دی 1395, 14:18 عصر
تا اونجا که میدونم قطعا پشت سر هم اجرا میشن اما بعضی اوقات هست که وقتی با ایجکس کدی رو میخونید بخاطر کلاینت ساید بودن یا از طریق دیگه ای دوتا (یا چندتا) وظیفه پشت سر هم اجرا میشن که توی trace کردن از این خط به اون خط میپره .... والا در کل درسته

بله تو ajax برای منم پیش اومده که با یه دستور درست شد. اما اینجا هم متاسفانه پیش اومده.
من پنجره thread ها رو موقع Trace کردن باز کردم. چند تا ترد برای دریافت ایمیل بازشده بود.

باید طبق زمانبندی فقط یک ترد ایجاد میشد اما چندتا بود.

شاید به ترتیب اجرا نمیکرده داشته از هر ترد قسمتیش رو تجرا می کرده.
ممکنه؟