У меня есть основной поток UI в котором работает основное приложение.
Я паролельно ему запускаю дополнительные потоки, для обработки данных.
Чтобы обеспечить их взаимодействие я создал статический клас посредник.
Но он обнспечивает погную глобализация, тоесть он один на всё приложение.
Мне же необходимо локализовать его в рамках одной сесии.
Я попытался сделать через привычные HttpContext.Current.Session, но....
Так как я пытаюсь обращаться к ниму из нового потока, то HttpContext.Current
становиться для меня недоступным.
Как реализовать взаимодействие между потоками в рамках одной сесии.?
Может быть можно и без объекта Session.
15.06.06 23:42: Перенесено модератором из 'Веб программирование' — der Igel
Здравствуйте, Lloyd, Вы писали:
L>Не надо тебе этого. Почитай какие-нибудь статьи об ASP.NET и о веб-приложениях вообще.
спасибо за предложение. Почитать конечно не когда не лишнее. Но я не совсем новичек в этом деле и прекрастно понимаю, что мне это надо. Есть другие пути реализации моей проблемы, но они мне не нравяться, как говорится "Не красивые"...
Re: ASP.NET 2.0 & Multy Threading
От:
Аноним
Дата:
15.06.06 19:59
Оценка:
>>Я паролельно ему запускаю дополнительные потоки, для обработки данных.
ЗАЧЕМ?!?!?!?!?!? В ASP.NET!?!?!?!?!?
Вот уж "Заставь дурака Богу молиться... он всё на нитки попересадит". Что тебе это даёт? Сильно производительность "приросла"? У тебя может сервера, как минимум, 4-х процессорные, чтобы о каком-то "приросте" говорить?
Здравствуйте, BlackTigerAP, Вы писали:
BTA>ЗАЧЕМ?!?!?!?!?!? В ASP.NET!?!?!?!?!?
BTA>Вот уж "Заставь дурака Богу молиться... он всё на нитки попересадит". Что тебе это даёт? Сильно производительность "приросла"? У тебя может сервера, как минимум, 4-х процессорные, чтобы о каком-то "приросте" говорить?
..не бузи.. мне нужна паролельность вычислений... и что у меня сервер 4-х процессорный.
Здравствуйте, BlackTigerAP, Вы писали:
BTA>К вопросу о "не совсем новичек" и "нитках"...
BTA>"паролельно" пишется как "параллельно"...
...сколько бы не было удовлетворения в мире, всегда есть люди которым его не хватает.
Re: ASP.NET 2.0 & Multy Threading
От:
Аноним
Дата:
15.06.06 20:30
Оценка:
Не надо ничего многониточного делать в веб-приложении. Всё уж очень нестабильно. Сделай отдельный "сервер вычислений" и давай ему задания. Куда надежней и менее геморройно и в стабильности и в ниточности.
Здравствуйте, BlackTigerAP, Вы писали:
BTA>Не надо ничего многониточного делать в веб-приложении. Всё уж очень нестабильно. Сделай отдельный "сервер вычислений" и давай ему задания. Куда надежней и менее геморройно и в стабильности и в ниточности.
это все хорошо, а как быть с информированием о процессе работы..?? тоесть, если мне хочеться, чтобы основной поток UI знал как там дела с вычислениями..??
Здравствуйте, bazaea, Вы писали:
B>ну например так или не так
B> protected void Page_Load(object sender, EventArgs e) B> { B> HttpContext.Current.Session["a"] = "aaa"; B> Thread t = new Thread(new ParameterizedThreadStart(f1)); B> t.Start(HttpContext.Current); B> } B> private void f1(object o) B> { B> HttpContext context = (HttpContext)o; B> for (int i = 0; i < 100; i++) B> { B> context.Response.Write(context.Session["a"]); B> } B> }
Это хорошо, НО, что мне здесь не очень нравиться:
1) Явное связывание.
2) Хотелось бы работать с глобальным HttpContext.Current, так как моему методу нужно общаться не на прямую с Session, а через клас посредник.
protected void Page_Load(object sender, EventArgs e)
{
Helper.Safe = 5;
Thread t = new Thread(new ThreadStart(f1));
...
t.Start();
}
private void f1(object o)
{
Helper.Safe += 4;
}
...............
public sealed class Helper
{
public static int Safe
{
get { return (int)HttpContext.Current.Session["a"]; }
set { HttpContext.Current.Session["a"] = value; }
}
}
...что то вроде этого..
Re[2]: ASP.NET 2.0 & Multy Threading
От:
Аноним
Дата:
15.06.06 20:50
Оценка:
В ASP.NET нет никакого "основного потока UI". Есть IIS, приложение, сессия и броузер.
Ну так и опрашивай "сервер вычислений" на предмет статуса. Что мешает?
Здравствуйте, Flap, Вы писали:
F>спасибо за предложение. Почитать конечно не когда не лишнее. Но я не совсем новичек в этом деле и прекрастно понимаю, что мне это надо. Есть другие пути реализации моей проблемы, но они мне не нравяться, как говорится "Не красивые"...
Объясни тогда что в твоем понимании поток UI и в чем его предназначение.
Здравствуйте, BlackTigerAP, Вы писали:
BTA>В ASP.NET нет никакого "основного потока UI". Есть IIS, приложение, сессия и броузер.
BTA>Ну так и опрашивай "сервер вычислений" на предмет статуса. Что мешает?
Да, народ давайте серьездно порассуждаем, как это можно сотварить красиво и правильно в АСП. Не будем говорить о целесообразности, просто НАДО. Но вот, как мне кажеться, это с изюменкой, тоесть джолжно быть все просто и элегантно..... хм... но как .. .
Re[3]: ASP.NET 2.0 & Multy Threading
От:
Аноним
Дата:
15.06.06 21:11
Оценка:
>>Брателлос, ты ж не в теме. Ты ж от нее отписался.
Да вот сижу, мазохизмом занимаюсь. Параллельно с просмотром "Голого Пистолета 33 и 1/3"...