Как использовать svcutil.exe для создания клиентского прокси ib WCF? - PullRequest
1 голос
/ 19 сентября 2009

Я написал сервис wcf, который работает нормально. На стороне клиента я использую функцию AddServiceReference VS2008 для генерации прокси клиента, он также работает нормально. Теперь для целей обучения я хочу сгенерировать свой клиентский прокси с помощью инструмента svcutil.exe, но я не могу его использовать, я пытался, но не знаю, чего не хватает, может быть, мне не хватает некоторых параметров, я знаю, что функция AddServiceReference также использует svcutil.exe для генерации прокси на стороне клиента.

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

На самом деле мой проект службы wcf находится в C: \ Projects \ WCFService, а мой клиент находится в C: \ Projects \ WCFClient.

Ниже мой класс обслуживания ...

Uri address = new Uri("http://localhost:8090/MathServices/");

            using (ServiceHost host = new ServiceHost(typeof(MathOperations), address))
            {
                BasicHttpBinding binding = new BasicHttpBinding();
                host.AddServiceEndpoint(typeof(IMathOperations), binding, "");              

                ServiceMetadataBehavior metaDataBehavior = new ServiceMetadataBehavior();
                metaDataBehavior.HttpGetEnabled = true;
                host.Description.Behaviors.Add(metaDataBehavior);
                             host.Open();

            }

Ответы [ 2 ]

1 голос
/ 20 сентября 2009

Мы обнаружили, что лучше использовать WCF без автоматически сгенерированных прокси.

Посмотрите это видео:

http://www.dnrtv.com/default.aspx?showNum=103

Примечание. Это работает, только если у вас есть контроль как на стороне сервера, так и на стороне клиента.

0 голосов
/ 19 сентября 2009

Используйте svcutil YourServiceUrl для генерации прокси-класса.

Если ваш набор данных содержит списки, используйте /ct:System.Collections.Generic.List 1`, иначе прокси-класс будет иметь массивы вместо списков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...