Ошибка 400 (неверный запрос) с учебником WCF? - PullRequest
2 голосов
/ 23 апреля 2009

Я начал использовать WCF вчера вечером, чтобы настроить простой клиентский сервер, который позволит мне отправлять игровую информацию клиенту в начале сеанса.

Я следовал руководству Microsoft по WCF и использовал шаблон VS2008 "WcfSerivce", чтобы начать, и добавил свои методы. Затем я скопировал и вставил адрес, который он мне дал, в диалоговое окно ссылки на сервис в моем клиентском проекте и добавил код для получения данных с сервера. Однако проблема заключается в том, что независимо от того, что всегда возвращает ошибку 400, когда я запрашиваю данные.

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

Единственное, о чем я могу думать, это то, что URI или адрес пространства имен неверны, какое значение они должны иметь вместо этого? Спасибо

РЕДАКТИРОВАТЬ: Вот код, который я использую в сервисе и клиенте, я не уверен, что правило публиковать большие объемы текста, поэтому я помещаю его в Pastebin, но если это разрешено здесь, я буду редактировать снова

http://pastebin.ca/1401443

Ответы [ 2 ]

0 голосов
/ 11 января 2010

Если у кого-то еще была эта проблема, это проблема совместимости с Windows 7. Я попробовал на RTM, и это работает.

0 голосов
/ 23 апреля 2009

У вас должна быть возможность нажать «play» в сервисном проекте, и он перейдет на экран, показывающий доступные методы и т. Д. Это URL, который вам нужно использовать в клиенте.

Это то, что вы уже делаете? Или вы используете URL из образца? В частности, если вы используете встроенный веб-сервер разработки (а не IIS), номера портов могут быть случайными.

Работающий сервисный проект WCF сгенерирует страницу примерно так:

{YourService} Сервис

Вы создали сервис.

Чтобы протестировать этот сервис, вам нужно будет создать клиент и использовать его для вызова сервиса. Вы можете сделать это, используя утилиту svcutil.exe из командной строки со следующим синтаксисом:

...

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

...