WCF не отвечает при вызове в цикле - PullRequest
1 голос
/ 22 февраля 2011

Я пытаюсь создать много пользователей в моей БД, используя службу WCF, используя цикл.Сценарий и веб-служба работают локально (Cassini).

                FormWCFClient formClient = new srForm.FormWCFClient();
                User user;
                int nbUser = 20000;
                for (int i = 0; i < nbUser; ++i)
                {
                    user = new User();
                    user.Email = String.Format("{0}@example.com", i.ToString());

                    formClient.AddUser(user); // Add the user in DB
                }

                formClient.Close();

Проблема заключается в том, что около 3300 вызовов запускается исключение EndpointNotFoundException со следующей внутренней исключительной ситуацией: «Невозможно подключиться к удаленному серверу».
Мне нужно подождать около 20 секунд, чтобы продолжить процесс без ошибок (до следующего диапазона 3300 вызовов).

Это проблема с кодом или ограничение сервера?

1 Ответ

0 голосов
/ 23 февраля 2011

Вы можете создать новую операцию в вашем сервисе, которая принимает список пользователей в качестве параметра.Затем вы должны вызывать его один раз со списком вместо того, чтобы вызывать существующую операцию 20000 раз с одним пользователем.Это уменьшит нагрузку на сеть и упростит использование транзакций.

Если это невозможно, активируйте Отслеживание WCF и проверьте, что происходит при сбое вызова.

...