Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Не работает поток.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Хочу написать форум на 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"; } } } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 19:00 |
|
||
|
Не работает поток.
|
|||
|---|---|---|---|
|
#18+
Dmitriy78781, зачем тебе здесь поток? С какой целью ты вызываешь функцию Receiver() в двух потоках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 19:23 |
|
||
|
Не работает поток.
|
|||
|---|---|---|---|
|
#18+
Я в потоке хочу обратиться к базе данных и вывести полученный результат в textbox. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 19:30 |
|
||
|
Не работает поток.
|
|||
|---|---|---|---|
|
#18+
поток должен быть один. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 19:31 |
|
||
|
Не работает поток.
|
|||
|---|---|---|---|
|
#18+
Dmitriy78781, что ты хочешь сделать можно понять из кода, но это не отвечает на мои вопросы. 1. Зачем тебе здесь поток? Почему бы не вызвать функцию Receiver() напрямую? 2. Функция Receiver() сейчас вызывается два раза: t.Start() и forum.Receiver(). То есть если внутри SqlClass.SelectFields3 нет кеширования, то к БД пойдут два одинаковых запроса. С какой целью ты это делаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 19:47 |
|
||
|
Не работает поток.
|
|||
|---|---|---|---|
|
#18+
Dmitriy78781, авторОшибок не выдает просто отрабатывает 1 раз. авторпоток должен быть один. Так один или не один? Вы сначала определились бы как-то, а то неясно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 20:01 |
|
||
|
Не работает поток.
|
|||
|---|---|---|---|
|
#18+
Если хотите один дополнительный поток и чтобы срабатывал один раз, то уберите forum.Receiver(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 20:03 |
|
||
|
Не работает поток.
|
|||
|---|---|---|---|
|
#18+
AxeleronЕсли хотите один дополнительный поток и чтобы срабатывал один раз, то уберите forum.Receiver(); Тогда переменная forum.allParameters может остаться неинициализированной. Нужно будет дождаться окончания работы потока (например, t.Join() перед if), но тогда мы снова возвращаемся к вопросу зачем тут поток :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 20:55 |
|
||
|
Не работает поток.
|
|||
|---|---|---|---|
|
#18+
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); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 21:11 |
|
||
|
Не работает поток.
|
|||
|---|---|---|---|
|
#18+
Я так понял, что мне нужно дождаться окончания потока и снова его запустить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 21:15 |
|
||
|
Не работает поток.
|
|||
|---|---|---|---|
|
#18+
Dmitriy78781, тут потоки не уместны ( их не должно быть) начните как все, с жизненного цикла страницы, он как бы громоздок и у многих не влезает в моск, но в будущем будет гораздо полегче.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 21:42 |
|
||
|
Не работает поток.
|
|||
|---|---|---|---|
|
#18+
Тогда как мне создать форум? Подкиньте идею. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 22:25 |
|
||
|
Не работает поток.
|
|||
|---|---|---|---|
|
#18+
Dmitriy78781, я не понимаю, если вы про web form, то она у вас ведь уже создана в проекте. уберите поток и пробуйте что получится, вообще то лучше бы оформили вопрос по принятым стандартам bbcode, легче читать что вы там наворотили ( я имею ввиду оформление кода) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 22:55 |
|
||
|
Не работает поток.
|
|||
|---|---|---|---|
|
#18+
вот почитайте http://www.intuit.ru/studies/courses/611/467/lecture/20746?page=2 первое что попало на русском, без этого все ваши хотелки пустой звук и дальнейший разговор не имеет смысла - точка.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 22:59 |
|
||
|
Не работает поток.
|
|||
|---|---|---|---|
|
#18+
Не совсем понимаю, для чего писать свой собственный форум, но тем не менее вот Yet Another Forum , который Open Source с исходниками на GitHub'е ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2014, 06:49 |
|
||
|
Не работает поток.
|
|||
|---|---|---|---|
|
#18+
ИМХО автор топика пытается перенести код из desktop приложения в ASP.NET приложение, при этом ничего о последних не знает. Ему бы рассказать, что есть на входе, что нужно получить на выходе, и спросить о том, как это лучше реализовать, но он поступил иначе. Как многие другие новички. Бросился что-то писать, у него получается не работающая фигня, и он спрашивает, почему фигня-то не работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2014, 08:41 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38829630&tid=1356823]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
24ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 335ms |

| 0 / 0 |
