Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.227.252.87] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте! Хочу написать форум на asp.net, но не работает поток. Ошибок не выдает просто отрабатывает 1 раз.
using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Threading; using System.Runtime.Remoting.Contexts; using System.Collections; namespace MazalPlanet { public class ForumClass { public ArrayList allParameters; public void Receiver() { lock (this) { allParameters = SqlClass.SelectFields3("SELECT UsersForum.UserName,UsersForum.Text, UsersForum.TimeM " + "FROM aspnet_Membership INNER JOIN UsersForum ON aspnet_Membership.UserId = UsersForum.UserId " + "where aspnet_Membership.LastLoginDate<UsersForum.TimeM"); } Thread.Sleep(3000); //return allParameters; } } } protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { ForumClass forum = new ForumClass(); Thread t = new Thread(forum.Receiver); t.Start(); forum.Receiver(); if (forum.allParameters!=null) { tb_MainDisplay.Text = ""; for (int i = 0; forum.allParameters.Count>i;i=i+3 ) { tb_MainDisplay.Text += forum.allParameters[i].ToString() + ": " + forum.allParameters[i+1].ToString() + " " + forum.allParameters[i+2].ToString().Substring(11,8); tb_MainDisplay.Text += "\n"; } } } } |
Сообщ.
#2
,
|
|
|
Цитата Dmitriy78781 @ просто отрабатывает 1 раз а сколько ты хотел, чтобы он отработал? он запустился, выполнил SqlClass.SelectFields3, подождал 3 сек и завершился. - зачем lock (this) в потоковой функции? - зачем вызов forum.Receiver() после t.Start, если этот же метод в потоке? |
Сообщ.
#3
,
|
|
|
Я в потоке хочу обратиться к базе данных и вывести полученный результат в textbox.
Добавлено Поток должен быть один. |
Сообщ.
#4
,
|
|
|
Цитата Dmitriy78781 @ в потоке хочу обратиться к базе данных и вывести полученный результат в textbox. а смысл? чтобы положить результат работы потока в текстбокс, надо дождаться окончания потока. Зачем он тогда вообще нужен? |
Сообщ.
#5
,
|
|
|
Значит надо завершить поток и снова его запустить.
|
Сообщ.
#6
,
|
|
|
Цитата Dmitriy78781 @ надо завершить поток и снова его запустить и что дальше? значение в серверный элемент TextBox можно записать только в ответ на запрос клиента. Т.е. пока данных не будет, ответ не уйдет. Потоки тут ничем не помогут. |
Сообщ.
#7
,
|
|
|
Тогда как мне создать форум?
|
Сообщ.
#8
,
|
|
|
Цитата Dmitriy78781 @ как мне создать форум? а какая связь между форумом и потоками? |
Сообщ.
#9
,
|
|
|
Цитата Dmitriy78781 @ Я в потоке хочу обратиться к базе данных и вывести полученный результат в textbox. А зачем для этого поток? |