Могу ли я указать имя контракта и пространство имен в app.config? - PullRequest
0 голосов
/ 26 июля 2010

Я довольно новичок в WCF и SOA, поэтому прошу прощения, если вопрос плохой.

На мой взгляд, если бы я мог указать имя и пространство имен контракта в app.config, я мог бы изменить службу, которую мои клиентские контракты используют во время выполнения, а не во время компиляции. Без возможности указать имя и пространство имен в app.config мои клиентские контракты ограничиваются подключением к сервисам с контрактами с тем же именем и в том же пространстве имен. Это правильно?

Так есть ли способ выбрать имя и пространство имен для данного контракта в app.config? Если нет, то почему?

1 Ответ

3 голосов
/ 26 июля 2010

То, что вы просите, не имеет смысла.Имя и пространство имен идентифицируют договор.Договор не может измениться без изменения клиента.Вот почему управление версиями службы часто выполняется путем добавления нового контракта (с новой комбинацией имени / пространства имен), а не путем изменения существующего контракта.

Вы должны думать о контракте как онеразрывное соглашение между клиентом и службой - вы всегда будете предоставлять этот набор операций.

С другой стороны, вы можете изменить конечную точку , на которую ссылается ваш клиент, если вы решите, что вы 'Мне бы хотелось, чтобы ваш клиент использовал другую реализацию контракта.Вы также можете изменить привязку, с помощью которой достигается реализация.Но вы всегда должны соблюдать один и тот же контракт, если только не хотите начать лгать своим клиентам.

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