Гость
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF работает все медленнее и медленнее с каждым вызовом / 1 сообщений из 1, страница 1 из 1
18.12.2007, 21:37
    #35018963
Rubin_Attack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF работает все медленнее и медленнее с каждым вызовом
Всем салют.
Такое ощущение, что wcf с каждым вызовом работает все медленнее и медленнее.
рассмотрим пример:
создадим проект сервиса с помощью стандартного визарда WCFServiceLibrary
и запустим его на исполнение.
также создадим клиента на WinForms. Кинем на форму компонент BackGroundWorker.
Поставим у него WorkerReportProgress=true
а также создадим 2 обработчика событий DoWork и ProgressChanged.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
   private void backgroundWorker1_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)

        {
            BackgroundWorker b = (sender as BackgroundWorker);
            while (true)
            {
                DateTime t = DateTime.Now;
                for (int i = 0; i < 2; i++)
                {
                    Service1Client sc = new Service1Client();
                    sc.Open();
                    for (int j = 0; j < 100; j++)
                    {
                        sc.GetData(4);
                    }
                    sc.Close();
                }
                b.ReportProgress((int)Math.Round(DateTime.Now.Subtract(t).TotalMilliseconds));
            }
        }

        private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            Text = e.ProgressPercentage.ToString();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            backgroundWorker1.RunWorkerAsync();
        }

После этого запускаем, и наслаждаемся бегущими в заголовке циферками. Это кол-во миллисекунд за которое исполняется один виток нашего бесконечного цикла в методе DoWork. Как мы видим, после некоторого времени, цифры-то растут! Значит вызов происходит все медленнее! Вопрос: в чем дело? как этого избежать?
...
Рейтинг: 0 / 0
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF работает все медленнее и медленнее с каждым вызовом / 1 сообщений из 1, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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