powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF работает все медленнее и медленнее с каждым вызовом
1 сообщений из 1, страница 1 из 1
WCF работает все медленнее и медленнее с каждым вызовом
    #35018963
Rubin_Attack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем салют.
Такое ощущение, что 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
1 сообщений из 1, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF работает все медленнее и медленнее с каждым вызовом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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