Многопоточность в выпуске asp.net - PullRequest
1 голос
/ 01 декабря 2011

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

    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]); 
    }

   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);
   }

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...