Непрерывные вызовы службы WCF возвращают «Обычно разрешено только одно использование каждого адреса сокета (протокол/сетевой адрес/порт) 127.0.0.1:10111»

StackOverflow https://stackoverflow.com/questions/828864

  •  06-07-2019
  •  | 
  •  

Вопрос

Я разработал небольшой гибридный сайт.На этом сайте есть сообщество.Поэтому, когда пользователь перейдет на страницу Community.aspx, он/она увидит членов сообщества с датой присоединения, количеством комментариев, именем и т. д. и т. д.и, конечно же, пейджинг.На странице около 15 пользователей.Теперь моя проблема в том, что на моем сайте есть два типа пользователей: «Традиционные пользователи» и «Открытые ID».Конечно, у меня есть 2 роли, определенные в Asp.Сетевое членство, а именно «OpenIDUser» и «Пользователь».

ХОРОШО!!!

Теперь, когда пользователь нажимает Community.aspx, создается список пользователей и возвращаются первые 15.Но для создания этого списка пользователей необходимо много Roles.IsUserInRole("Username","RoleName") проверяет, кто какие пользователи, потому что теперь список пользователей сортируется в алфавитном порядке.Вы должны быть осторожны со всеми пользователями OPEN ID, которые начинаются сhttp://identifier.username или что-то еще.Итак, я делаю много вызовов службы членства Asp .Net Membership.GetUser Roles и все такое...

Обычно это не проблема, однако я включил службу MemberShip в WCF.Причина этого в том, что в этом сообществе у меня будет много поддоменов (по одному поддомену для каждого «сайта»), и я хочу использовать только 1 базу данных для всех это.

Так что я думаю, что нормально, если вы сделаете 500+ членств. Что бы вы ни называли, это 100%.Но как только вы добавите членство .NET в WCF и преобразуете каждый метод Membership.Whatever в метод WCF.у вас есть более 500 вызовов WCF каждый раз, когда загружается страница.

Я думаю, поэтому и возникает ошибка.

Это было полезно?

Решение

Это не вопрос, поэтому это не ответ, а комментарий.

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

Другие советы

Вы закрываете клиент?IIRC У меня была аналогичная проблема.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top