Куда идет настройка привязки WCF? - PullRequest
1 голос
/ 04 марта 2009

Я проверял потоковую передачу в книге «Программирование служб WCF» и заметил строку о настройке.

Вам потребуется настроить привязку на стороне клиента или службы (или обоих) для каждого требуемого режима потока

Так что это? Как я знаю, где я должен их настроить? И это обычное дело с WCF? Мне кажется немного странным.

1 Ответ

2 голосов
/ 08 марта 2009

Вот очень простой пример того, как настроить службу WCF в вашем web / app.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <services>
            <service name="MyServiceTypes.MyService" >
                <endpoint address="http://localhost:55555/MyService"
                          binding="basicHttpBinding"
                          contract="MyServiceTypes.IMyService" />
            </service>
        </services>
    </system.serviceModel>
</configuration>

На стороне клиента вы хотите использовать точно такие же настройки конечной точки, например:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <client>
            <endpoint address="http://localhost:55555/MyService"
                      binding="basicHttpBinding"
                      contract="MyServiceTypes.IMyService" />
        </client>
    </system.serviceModel>
</configuration>

Существует множество способов настройки привязки и т. Д. Путем добавления разделов bindingConfiguration и тому подобного. Конфигурация привязки может быть там, где вы настраиваете режим потоковой передачи.

Обычно рекомендуется использовать интерфейс контракта; ваш сервис и реализация клиента; и ваши типы DataContract (ваши объекты передачи данных) в отдельной DLL, если вы можете. Если у вас нет контроля над договором (например, вы получаете доступ к службе на компьютере, которым не управляете), простой способ создания кода на стороне клиента - использовать «Добавить ссылку на службу» в Visual Studio или svcutil инструмент. Мне нравится svcutil лучше, чем Add Service Reference, потому что он дает вам более легкий контроль над тем, где сгенерированный код попадает в ваш проект.

...