powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не работает поток.
17 сообщений из 17, страница 1 из 1
Не работает поток.
    #38829466
Dmitriy78781
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Хочу написать форум на 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";
}
}
}
}

...
Рейтинг: 0 / 0
Не работает поток.
    #38829488
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitriy78781, зачем тебе здесь поток? С какой целью ты вызываешь функцию Receiver() в двух потоках?
...
Рейтинг: 0 / 0
Не работает поток.
    #38829492
Dmitriy78781
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я в потоке хочу обратиться к базе данных и вывести полученный результат в textbox.
...
Рейтинг: 0 / 0
Не работает поток.
    #38829495
Dmitriy78781
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поток должен быть один.
...
Рейтинг: 0 / 0
Не работает поток.
    #38829515
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitriy78781, что ты хочешь сделать можно понять из кода, но это не отвечает на мои вопросы.

1. Зачем тебе здесь поток? Почему бы не вызвать функцию Receiver() напрямую?

2. Функция Receiver() сейчас вызывается два раза: t.Start() и forum.Receiver(). То есть если внутри SqlClass.SelectFields3 нет кеширования, то к БД пойдут два одинаковых запроса. С какой целью ты это делаешь?
...
Рейтинг: 0 / 0
Не работает поток.
    #38829529
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitriy78781,

авторОшибок не выдает просто отрабатывает 1 раз.

авторпоток должен быть один.

Так один или не один? Вы сначала определились бы как-то, а то неясно...
...
Рейтинг: 0 / 0
Не работает поток.
    #38829532
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если хотите один дополнительный поток и чтобы срабатывал один раз, то уберите forum.Receiver();
...
Рейтинг: 0 / 0
Не работает поток.
    #38829557
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronЕсли хотите один дополнительный поток и чтобы срабатывал один раз, то уберите forum.Receiver();
Тогда переменная forum.allParameters может остаться неинициализированной. Нужно будет дождаться окончания работы потока (например, t.Join() перед if), но тогда мы снова возвращаемся к вопросу зачем тут поток :)
...
Рейтинг: 0 / 0
Не работает поток.
    #38829567
Dmitriy78781
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
forum.Receiver(); Я уберу, но не знаю как сделать чтобы поток беспрерывно задавал запрос. Я хочу создать форум при помощи потоков.
Помойму это делается как то так:


public void Receiver()
{

while(true){
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);


}
}
...
Рейтинг: 0 / 0
Не работает поток.
    #38829569
Dmitriy78781
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понял, что мне нужно дождаться окончания потока и снова его запустить.
...
Рейтинг: 0 / 0
Не работает поток.
    #38829582
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitriy78781,
тут потоки не уместны ( их не должно быть)
начните как все, с жизненного цикла страницы, он как бы громоздок и у многих не влезает в моск, но в будущем
будет гораздо полегче..
...
Рейтинг: 0 / 0
Не работает поток.
    #38829609
Dmitriy78781
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда как мне создать форум? Подкиньте идею.
...
Рейтинг: 0 / 0
Не работает поток.
    #38829630
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitriy78781,
я не понимаю, если вы про web form, то она у вас ведь уже создана в проекте.
уберите поток и пробуйте что получится, вообще то лучше бы оформили вопрос по принятым стандартам bbcode, легче читать что вы там наворотили ( я имею ввиду оформление кода)
...
Рейтинг: 0 / 0
Не работает поток.
    #38829633
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот почитайте http://www.intuit.ru/studies/courses/611/467/lecture/20746?page=2
первое что попало на русском, без этого все ваши хотелки пустой звук и дальнейший разговор не имеет смысла - точка..
...
Рейтинг: 0 / 0
Не работает поток.
    #38829651
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitriy78781,

тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
Не работает поток.
    #38830860
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не совсем понимаю, для чего писать свой собственный форум, но тем не менее вот Yet Another Forum , который Open Source с исходниками на GitHub'е
...
Рейтинг: 0 / 0
Не работает поток.
    #38830901
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО автор топика пытается перенести код из desktop приложения в ASP.NET приложение, при этом ничего о последних не знает.

Ему бы рассказать, что есть на входе, что нужно получить на выходе, и спросить о том, как это лучше реализовать, но он поступил иначе.
Как многие другие новички.
Бросился что-то писать, у него получается не работающая фигня, и он спрашивает, почему фигня-то не работает?
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не работает поток.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]