масштабируемое решение WCF - PullRequest
1 голос
/ 09 февраля 2012

Я пытаюсь реализовать масштабируемое решение wcf, которое можно найти на Гармоники NetFX: создание оптимизированного, упрощенного и в то же время масштабируемого подключения WCF

Так что у моего решения есть 4 проекта

  • Contact.Service (Контракты на обслуживание и передачу данных)
  • Contact.ServiceImpl (HostFactory и сама служба)
  • Contact.ServiceHost (Web.config and Person.svc)
  • Contact.ServiceClient

Contact.ServiceClient имеет App.config и Program.cs, которые фактически вызывают службу.

App.config

<configuration> 
  <appSettings>
    <add key="PersonServiceActiveEndpoint" value="PersonServiceBasicHttpBinding" />
  </appSettings>    
  <system.serviceModel>
    <client>
      <endpoint name="PersonServiceBasicHttpBinding"
                address="http://localhost:1031/Person.svc"
                binding="basicHttpBinding"
                contract="Contact.Service.IPersonService" />
    </client>
  </system.serviceModel>  
</configuration>

Program.cs

  BasicHttpBinding basicHttpBinding = new BasicHttpBinding();
            EndpointAddress endpointAddress = new EndpointAddress("http://localhost:1031/Person.svc");
            IPersonService personService = new ChannelFactory<IPersonService>(basicHttpBinding, endpointAddress).CreateChannel();

            Person person = personService.GetPersonData("F488D20B-FC27-4631-9FB9-83AF616AB5A6");
            Console.WriteLine(person.FirstName);

Когда я пытаюсь запустить этот пример, генерируется исключение:

Конечная точка не прослушивала http://localhost:1031/Person.svc, которая могла бы принять сообщение. Это часто вызвано неправильным адресом или действием SOAP.

P.S. Person.svc в моем проекте Contact.ServiceHost

<%@ ServiceHost Service="Contact.Service.PersonService" %>

1 Ответ

0 голосов
/ 09 февраля 2012

что такое конфиг хоста службы?звучит как одна из 2 проблем:

  • хост службы не настроен на прослушивание на одном и том же порту.
  • приложение хоста вообще не запускается

Я полагаю, что, проверив web.config проекта хоста службы, вы, скорее всего, обнаружите, что оно либо прослушиваетдругой порт или не запускается вообще, и, следовательно, не прослушивает.

Хост Visual Studio запускается и размещает службу?Обычно в области уведомлений рядом с часами появляется небольшое всплывающее окно «тост», в котором говорится, что хост работает, и вы можете видеть, на каком порту он работает.если этого не происходит, вероятно, вам необходимо настроить его для запуска хост-проекта, а также клиента.

Чтобы разрешить одновременный запуск и клиента, и сервера, вам необходимо:

  • Щелкните правой кнопкой мыши файл решения и выберите «Установить стартовые проекты» ...
  • Выберите «Несколько стартовых проектов» и выберите «Пуск» для проекта клиента и сервера, оставив остальные настройки равныминет.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...