Как настроить клиентов для службы wcf? - PullRequest
5 голосов
/ 23 августа 2009

Я занимаюсь разработкой службы wcf. Я создал две DLL для контрактов сообщений и один для интерфейсов контрактов на обслуживание. Я разделяю эти два DLL с сервером и клиентом. Я не использую AddServiceReference, я использую класс ChannelFactory для создания прокси. Ниже приведен код, который я использую для создания клиентских прокси:

BasicHttpBinding binding = new BasicHttpBinding(); 
EndpointAddress endpoint = new EndpointAddress(new Uri   ("http://localhost:8989/HelloService/"));
ChannelFactory<IHello> chanFac = new ChannelFactory<IHello>(binding, endpoint);
IHello clientProxy = chanFac.CreateChannel();

Теперь мне нужно создать привязку и EndpointAddress в коде, что я хочу, чтобы это происходило из файла app.config, как я могу это сделать, чтобы мне не нужно было писать привязку и конечную точку каждый раз в коде .... Любая помощь приветствуется ..

1 Ответ

8 голосов
/ 23 августа 2009

Используйте app.config следующим образом (когда вы используете «Добавить ссылку на службу» из Visual Studio, VS обычно создает ее для вас автоматически - и вам просто нужно настроить ее под свои нужды):

<configuration>
    <system.serviceModel>
        <bindings>
          <basicHttpBinding>
            <binding name="UserNameSecurity">
              <security mode="Message">
                <message clientCredentialType="UserName"/>
              </security>
            </binding>
          </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:8888/MyService" binding="basicHttpBinding"
                bindingConfiguration="UserNameSecurity" contract="IMyService" />
            <endpoint address="net.tcp://localhost:8484/MyService/Mex" 
                      binding="mexTcpBinding"
                      bindingConfiguration="" 
                      contract="IMetadataExchange" name="mexNetTcp" />
        </client>
    </system.serviceModel>
</configuration>

Раздел, его возможные значения и подраздел хорошо документированы в конфигурации WCF.

В качестве альтернативы, в VS 2008 с пакетом обновления 1 (SP1) можно использовать «Редактор конфигурации службы WCF» - см. Его в «Инструменты> Редактор конфигурации службы WCF».

alt text

Позволяет визуально определять и изменять настройки конфигурации вашего клиента. После того как вы запустили его из меню «Инструменты», после этого вы можете даже щелкнуть правой кнопкой мыши файл app.config в обозревателе решений и запустить его оттуда (используя этот app.config в качестве основы).

alt text

Марк

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