Публикация сервера WCF и клиента и их конечных точек - PullRequest
0 голосов
/ 07 февраля 2010

Представьте себе разработку решения WCF с двумя проектами (служба WCF / и веб-приложение в качестве клиента WCF). Пока я разрабатываю эти два проекта в visual studio и обращаюсь к клиенту (веб-приложению) в качестве ссылки на сервер, проблем не возникает. Visual Studio автоматически назначает порт для WCF-сервера и настраивает все необходимые настройки, включая привязку сервера и клиента к чему-либо подобному на сервере:

   <service behaviorConfiguration="DefaultServiceBehavior"
    name="MYWCFProject.MyService">
    <endpoint address="" binding="wsHttpBinding" contract="MYWCFProject.IMyService">
     <identity>
      <dns value="localhost" />
     </identity>
    </endpoint>
    <host>
     <baseAddresses>
      <add baseAddress="http://localhost:8731/MyService.svc" />
     </baseAddresses>
    </host>
   </service>

и в клиенте:

<client>
   <endpoint address="http://localhost:8731/MyService.svc"
    binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IMyService"
    contract="MyWCFProject.IMyService"
    name="WSHttpBinding_IMyService">
    <identity>
     <dns value="localhost" />
    </identity>
   </endpoint>
  </client>

Проблема в том, что я хочу часто публиковать эти два проекта на двух разных серверах, поскольку мои производственные серверы и URL-адрес службы будут иметь значение "http://mywcfdomain/MyService.svc".. , Вопрос в том, есть ли какая-либо функция в Visual Studio 2008 для автоматического изменения URL-адресов или мне нужно определить две разные конечные точки, и я задаю их в своем коде (на основе параметра в моей конфигурации, например, «Разработка / Опубликован»).

1 Ответ

0 голосов
/ 07 февраля 2010

Проверьте ответ, который я опубликовал здесь для аналогичного вопроса (как программно установить конечные точки клиента).

Другой способ сделать это и сделать его полностью декларативным - написать установщикдля вашего приложения, и установщик обновит файлы конфигурации.Это решение будет немного более чистым, но сложным для реализации, и то, как именно это будет сделано, будет зависеть от того, какой установщик вы используете.

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