ASP.NET 2.0 & Multy Threading
От: Flap Россия  
Дата: 15.06.06 18:39
Оценка: :)
Сталкнулся вот с какой интерестной проблемой.

У меня есть основной поток UI в котором работает основное приложение.
Я паролельно ему запускаю дополнительные потоки, для обработки данных.
Чтобы обеспечить их взаимодействие я создал статический клас посредник.
Но он обнспечивает погную глобализация, тоесть он один на всё приложение.
Мне же необходимо локализовать его в рамках одной сесии.
Я попытался сделать через привычные HttpContext.Current.Session, но....
Так как я пытаюсь обращаться к ниму из нового потока, то HttpContext.Current
становиться для меня недоступным.

Как реализовать взаимодействие между потоками в рамках одной сесии.?
Может быть можно и без объекта Session.


15.06.06 23:42: Перенесено модератором из 'Веб программирование' — der Igel
Re: ASP.NET 2.0 & Multy Threading
От: Lloyd Россия  
Дата: 15.06.06 19:53
Оценка:
Здравствуйте, Flap, Вы писали:

F>Как реализовать взаимодействие между потоками в рамках одной сесии.?

F>Может быть можно и без объекта Session.

Не надо тебе этого. Почитай какие-нибудь статьи об ASP.NET и о веб-приложениях вообще.
Re[2]: ASP.NET 2.0 & Multy Threading
От: Flap Россия  
Дата: 15.06.06 19:59
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Не надо тебе этого. Почитай какие-нибудь статьи об ASP.NET и о веб-приложениях вообще.


спасибо за предложение. Почитать конечно не когда не лишнее. Но я не совсем новичек в этом деле и прекрастно понимаю, что мне это надо. Есть другие пути реализации моей проблемы, но они мне не нравяться, как говорится "Не красивые"...
Re: ASP.NET 2.0 & Multy Threading
От: Аноним  
Дата: 15.06.06 19:59
Оценка:
>>Я паролельно ему запускаю дополнительные потоки, для обработки данных.

ЗАЧЕМ?!?!?!?!?!? В ASP.NET!?!?!?!?!?

Вот уж "Заставь дурака Богу молиться... он всё на нитки попересадит". Что тебе это даёт? Сильно производительность "приросла"? У тебя может сервера, как минимум, 4-х процессорные, чтобы о каком-то "приросте" говорить?

Compiling: for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
Compiling: Success.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
ASP.NET 2.0 & Multy Threading
От: Аноним  
Дата: 15.06.06 19:59
Оценка:
а как пытаешься обращаться?
От хаоса в космос и далее к наличным


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
ASP.NET 2.0 & Multy Threading
От: Аноним  
Дата: 15.06.06 20:02
Оценка:
Йо!!! Тож РСДН... Опять вляпался... Всё, отписался от темы... Бай.
Compiling: for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
Compiling: Success.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: ASP.NET 2.0 & Multy Threading
От: Аноним  
Дата: 15.06.06 20:04
Оценка:
может он в лог в бэкграунде что-то пишет... ну и 4процессорные сервера не редкость, а, по-моему, самое "народное"
От хаоса в космос и далее к наличным


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
ASP.NET 2.0 & Multy Threading
От: Аноним  
Дата: 15.06.06 20:06
Оценка:
К вопросу о "не совсем новичек" и "нитках"...

"паролельно" пишется как "параллельно"...

Compiling: for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
Compiling: Success.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: ASP.NET 2.0 & Multy Threading
От: Flap Россия  
Дата: 15.06.06 20:10
Оценка:
Здравствуйте, BlackTigerAP, Вы писали:

BTA>ЗАЧЕМ?!?!?!?!?!? В ASP.NET!?!?!?!?!?


BTA>Вот уж "Заставь дурака Богу молиться... он всё на нитки попересадит". Что тебе это даёт? Сильно производительность "приросла"? У тебя может сервера, как минимум, 4-х процессорные, чтобы о каком-то "приросте" говорить?


..не бузи.. мне нужна паролельность вычислений... и что у меня сервер 4-х процессорный.
Re: ASP.NET 2.0 & Multy Threading
От: Flap Россия  
Дата: 15.06.06 20:12
Оценка:
Здравствуйте, bazaea, Вы писали:

B>а как пытаешься обращаться?


...немного не поня, что ты имеешь ввиду..?? обращаться, всмысле..??
Re: ASP.NET 2.0 & Multy Threading
От: Flap Россия  
Дата: 15.06.06 20:14
Оценка:
Здравствуйте, BlackTigerAP, Вы писали:

BTA>К вопросу о "не совсем новичек" и "нитках"...


BTA>"паролельно" пишется как "параллельно"...


...сколько бы не было удовлетворения в мире, всегда есть люди которым его не хватает.
Re: ASP.NET 2.0 & Multy Threading
От: Аноним  
Дата: 15.06.06 20:30
Оценка:
Не надо ничего многониточного делать в веб-приложении. Всё уж очень нестабильно. Сделай отдельный "сервер вычислений" и давай ему задания. Куда надежней и менее геморройно и в стабильности и в ниточности.

Compiling: for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
Compiling: Success.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: ASP.NET 2.0 & Multy Threading
От: Аноним  
Дата: 15.06.06 20:31
Оценка:
ну например так или не так

protected void Page_Load(object sender, EventArgs e)
{
HttpContext.Current.Session["a"] = "aaa";
Thread t = new Thread(new ParameterizedThreadStart(f1));
t.Start(HttpContext.Current);
}
private void f1(object o)
{
HttpContext context = (HttpContext)o;
for (int i = 0; i < 100; i++)
{
context.Response.Write(context.Session["a"]);
}
}
От хаоса в космос и далее к наличным


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: ASP.NET 2.0 &amp; Multy Threading
От: Flap Россия  
Дата: 15.06.06 20:37
Оценка:
Здравствуйте, BlackTigerAP, Вы писали:

BTA>Не надо ничего многониточного делать в веб-приложении. Всё уж очень нестабильно. Сделай отдельный "сервер вычислений" и давай ему задания. Куда надежней и менее геморройно и в стабильности и в ниточности.


это все хорошо, а как быть с информированием о процессе работы..?? тоесть, если мне хочеться, чтобы основной поток UI знал как там дела с вычислениями..??
Re[2]: ASP.NET 2.0 &amp; Multy Threading
От: Flap Россия  
Дата: 15.06.06 20:45
Оценка:
Здравствуйте, 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 &amp; Multy Threading
От: Аноним  
Дата: 15.06.06 20:50
Оценка:
В ASP.NET нет никакого "основного потока UI". Есть IIS, приложение, сессия и броузер.

Ну так и опрашивай "сервер вычислений" на предмет статуса. Что мешает?

Compiling: for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
Compiling: Success.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[3]: ASP.NET 2.0 & Multy Threading
От: Lloyd Россия  
Дата: 15.06.06 20:57
Оценка:
Здравствуйте, Flap, Вы писали:

F>спасибо за предложение. Почитать конечно не когда не лишнее. Но я не совсем новичек в этом деле и прекрастно понимаю, что мне это надо. Есть другие пути реализации моей проблемы, но они мне не нравяться, как говорится "Не красивые"...


Объясни тогда что в твоем понимании поток UI и в чем его предназначение.
Re[3]: ASP.NET 2.0 &amp; Multy Threading
От: Lloyd Россия  
Дата: 15.06.06 20:59
Оценка:
Здравствуйте, BlackTigerAP, Вы писали:

BTA>В ASP.NET нет никакого "основного потока UI". Есть IIS, приложение, сессия и броузер.


BTA>Ну так и опрашивай "сервер вычислений" на предмет статуса. Что мешает?


Брателлос, ты ж не в теме. Ты ж от нее отписался
Автор: BlackTigerAP
Дата: 16.06.06
.
Re[4]: ASP.NET 2.0 &amp; Multy Threading
От: Flap Россия  
Дата: 15.06.06 21:11
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Брателлос, ты ж не в теме. Ты ж от нее отписался
Автор: BlackTigerAP
Дата: 16.06.06
.


Да, народ давайте серьездно порассуждаем, как это можно сотварить красиво и правильно в АСП. Не будем говорить о целесообразности, просто НАДО. Но вот, как мне кажеться, это с изюменкой, тоесть джолжно быть все просто и элегантно..... хм... но как .. .
Re[3]: ASP.NET 2.0 &amp; Multy Threading
От: Аноним  
Дата: 15.06.06 21:11
Оценка:
>>Брателлос, ты ж не в теме. Ты ж от нее отписался.

Да вот сижу, мазохизмом занимаюсь. Параллельно с просмотром "Голого Пистолета 33 и 1/3"...

Compiling: for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
Compiling: Success.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.