кто силен в Wcf

  • Автор темы Young Programmer
  • Дата начала
Статус
Закрыто для дальнейших ответов.
Y

Young Programmer

Гость
#1
использую сервер в виде WinForm приложения, сервер обслуживает некоторое количество клиентов. Суть работы простая, клиенты каждые 20 секунд просят у сервера некий список со значениями. Клиенты написаны в виде WinFOrm приложения. Так вот суть проблемы в том, что некоторые клиенты работают отлично, подключаются к серверу забирают инфу и так целый день без сбоев. Некоторые клиенты при обращении к методу контракта, который должен вернуть этот список получают исключение MessageSecurityException: The HTTP request was forbidden with client authentication scheme 'Anonymous'. The remote server returned an error: (403) Forbidden.
Использую и basicHttpBinding и wsHttpBinding и различные настройки в секции <security> ничего не помогает. Клиенты которые работали стабильно работают при любом биндинге, а те которые не работали - так и не работают ни в какую. В настройках IIS анонимные соединения разрешены, причем независимо от IIS, включен он, выключен поведение клиентов не меняется. В гугле по ошибке есть обсуждения, но большинство грешат на IIS (который вроде как никаким боком ко мне не относиться) Может кто сталкивался и может прояснить ситуацию?
по умолчанию настройки биндинга почти пусты, в конфиге только настроен endpoint и все. Усложнение настроек биндинга ни к чему не привело. Максимум отваливаются работающие клиенты при выставлении атрибутов clientCredential в секции <security> на случайные значения из возможного перечня.
 
Y

Young Programmer

Гость
#2
вот и говорю что в гугле большинство проблем с этой ошибкой связано с настройками ИИСа, но я уже нашел решение для моего случая. По-умолчанию в настройках биндинга useDefaultWebProxy(вроде так) установлен в true, поставив в false запрос на проксю не попадает. Теперь все работает
 
Y

Young Programmer

Гость
#3
Так а что гугл, выж сами смотрите, когда работают с иисом, то в иисе создают сайт(хост), на него вешают вцф сервис. А у вас совсем не так.
Да и зачем *httpBinding выбрали а не *tcpBinding ?
ну у меня очень простой сервис (я бы сказал аналог чата чтоли) отсылается сообщение на WCF сервер, а клиенты его считывают через определенный промежуток времени. В чем будет преимущество tcpBindinga в данном случае?
 
Y

Young Programmer

Гость
#5
Ну во первых я не в курсе вашего случая, а во вторых про то чем они отличаются, и когда какой брать написано километры статей/блогов и т.п. справки.

Добавлено: Тут как бы дуальный режим лучше.
угу, абсолютно верно, лучше. но уже лень переделывать :what?:) работает стабильно
 
Статус
Закрыто для дальнейших ответов.