Параметр message-contracts может иметь такой эффект; цель здесь состоит в том, чтобы позволить детальный контроль над основным запросом. В конечном счете, то, что вы отправляете (негласно) , является полезной нагрузкой запроса.
Опция reuse-types более типично используется с объектами (не такими вещами, как string[]
) - и означает, что если у вас есть 100% совпадающий Customer
(скажем) класс локально, он может повторно использовать его для веб-сервис, а не генерация прокси-типа.
Кроме того, обратите внимание, что вы на самом деле не используете службу WCF ([WebMethod]
- это более старый стиль веб-службы). Таким образом, у вас могут быть лучшие результаты с «веб-справочником»; при добавлении службы нажмите «Дополнительно», затем «Добавить веб-ссылку ...». При этом используется более старый пользовательский интерфейс и wsdl.exe для генерации кода , предназначенного для [WebMethod]
(asmx), а не WCF (svc).
Конечно, вместо хостинга a [WebMethod]
вы могли бы (так как сервер также 3.5) разместить службу WCF; это может сделать вещи проще.
Финальная точка WCF; если вы действительно хотите одного и того же контракта на клиенте и сервере, вы можете использовать сборку или общий доступ к классам для использования одних и тех же типов на обоих концах. Однако это не поддерживается для [WebMethod]
.