Arhn - архитектура программирования

Размещение службы WCF в службе Windows, но конечная точка не найдена

У меня есть служба dulpex WCF, размещенная в службе Windows. Я установил службу Windows из командной строки через InstallUtil.exe, запустил службу из панели управления службами. Теперь пришло время протестировать WCF. Итак, я добавляю новый консольный проект в качестве клиента, следующим шагом будет добавление веб-ссылки на проект. Однако я получил ошибку:

There was an error downloading `http://localhost:8733/KeyValueService/_vti_bin/ListData.svc/$metadata`.
Unable to connect to the remote server
No connection could be made because the target machine actively refused it 127.0.0.1:8733
Metadata contains a reference that cannot be resolved: `http://localhost:8733/KeyValueService`.

В app.config в сервисном проекте есть:

  <system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<services>
  <service name="VoiceApp.KeyValueService">
    <endpoint address="http://localhost:8733/KeyValueService/" binding="wsDualHttpBinding" contract="VoiceApp.IService1" />
    <endpoint address="http://localhost:8733/KeyValueService/mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
</services>
<bindings>
  <basicHttpBinding>
  </basicHttpBinding>
</bindings>
<client>
</client>

Я следил за конфигурацией в блоге Metatata Exchange Endpoint но это не помогло бы.

Также внутри службы Windows у нас есть:

    protected override void OnStart(string[] args)
    {
        if (serviceHost != null)
        {
            serviceHost.Close();
        }
        serviceHost = new ServiceHost(typeof(KeyValueService));
        serviceHost.Open();
        MyApplication.Start(); //  a long running code...
    }

Обновлено:

Мой шаг заключался в создании проекта службы Windows, а затем добавлении службы WCF.

02.07.2014

  • Доступна ли ссылка на сервис из браузера? Если нет, попробуйте отключить брандмауэр 02.07.2014
  • Ошибка: эта страница не может быть отображена в IE. 02.07.2014
  • Ваша конечная точка выглядит как IIS Express. Раньше я не создавал дуплексную службу, но создал службу WCF на хосте службы Windows. Я ожидаю, что конечной точкой будет TCP или именованные каналы. Можете ли вы подтвердить, что служба Windows не падает при запуске? 03.07.2014
  • @Adam47, Да, при запуске не вылетает. Моя конечная точка похожа на msdn.microsoft.com/ en-us/library/ms733069(v=vs.110).aspx. 03.07.2014
  • @ Adam47. Служба WCF, размещенная в службе Windows, может использовать любую привязку WCF, даже одну из http-привязок. Так же, как служба WCF, которая размещается самостоятельно. привязки http не ограничиваются только IIS. 03.07.2014
  • @Love - Проверьте средство просмотра событий. Похоже, что учетная запись, в которой запущена служба Windows, может не иметь соответствующих разрешений для регистрации URI — в этом случае вы можете увидеть ошибку в средстве просмотра событий. 03.07.2014
  • @ Тим, в средстве просмотра событий все в порядке. Брандмауэр Windows отключен, а служба Windows работает. Может быть, у тебя есть что-то особенное для дуплексного WCF? 03.07.2014
  • Я думаю, что это проблема с конфигурацией. Попробуйте добавить конечные точки в код (serviceHost.AddServiceEndpoint(...)) 03.07.2014
  • Все, я обновил шаги. Обратите внимание: служба WCF не находится в отдельном проекте. 04.07.2014

Ответы:


1

Я знаю, что это старый пост, но я обнаружил, что если вы замените «localhost» реальным IP-адресом конечной точки, проблема будет решена.

15.04.2016
  • Пожалуйста, не публикуйте одинаковые ответы на несколько вопросов. Опубликуйте один хороший ответ, затем проголосуйте/отметьте, чтобы закрыть другие вопросы как дубликаты. Если вопрос не повторяется, адаптируйте свои ответы к вопросу. 15.04.2016
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..