Проблема многопоточности в asp.net - PullRequest
0 голосов
/ 28 ноября 2011

У меня есть приложение, размещенное на моем сервере.это приложение отправляет электронные письма в список пользователей.Допустим, в списке 10000 пользователей.Я делю список на три части и назначаю каждую отдельную ветку для отправки писем.Проблема в том, что когда я иду на сервер, на котором я разместил свое приложение, и запускаю приложение, оно отправляет электронные письма на все 3 списка, которые я создал, но когда я удаленно просматриваю приложение на моем локальном компьютере.письма не отправляются.

Кто-нибудь может мне помочь, что это за проблема и как ее решить.

Заранее спасибо с уважением

1 Ответ

0 голосов
/ 29 ноября 2011

Привет, вот код.

# region /////Split Users List in 3 Parts////
                ArrayList thList1 = new ArrayList();
                ArrayList thList2 = new ArrayList();
                ArrayList thList3 = new ArrayList();
                ArrayList thListId1 = new ArrayList();
                ArrayList thListId2 = new ArrayList();
                ArrayList thListId3 = new ArrayList();
                int countList = arlistuid.Count / 3;
                int count;
                for (count = 0; count < arlistuid.Count; count++)
                {
                    if (count < countList)
                    {
                        thList1.Add(arlistuid[count]);
                        thListId1.Add(arlistid[count]);
                    }
                    else if (count >= countList && (count < countList + countList))
                    {
                        thList2.Add(arlistuid[count]);
                        thListId2.Add(arlistid[count]);
                    }
                    else
                    {
                        thList3.Add(arlistuid[count]);
                        thListId3.Add(arlistid[count]);
                    }

                }

                # endregion

                # region ///Send Email using 3 threads
                if (thList1.Count > 0)
                {
                    object thdargs = new object[2] { thList1, thListId1 };
                    Thread thd1 = new Thread(new ParameterizedThreadStart(SplitListEmail));
                    thd1.IsBackground = true;
                    thd1.Name = "Thread1";
                    thd1.Start(thdargs);
                }
                if (thList2.Count > 0)
                {
                    object thd2args = new object[2] { thList2, thListId2 };
                    Thread thd2 = new Thread(new ParameterizedThreadStart(SplitListEmail));
                    thd2.IsBackground = true;
                    thd2.Name = "Thread2";
                    thd2.Start(thd2args);
                }
                if (thList3.Count > 0)
                {
                    object thd3args = new object[2] { thList3, thListId3 };
                    Thread thd3 = new Thread(new ParameterizedThreadStart(SplitListEmail));
                    thd3.IsBackground = true;
                    thd3.Name = "Thread3";
                    thd3.Start(thd3args);
                }
                # endregion
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...