Использование служб WCF REST с Unity на IIS - PullRequest
1 голос
/ 30 января 2012

Я пытаюсь использовать внедрение зависимостей с WCF REST (WebGet), и мне трудно понять, где я буду использовать Unity для создания своего объекта для размещения веб-службы.

Я видел много примеров по всей сети, но, похоже, все они размещают службу в консольном приложении или службе Windows.

В настоящее время мой конфигурационный файл выглядит так:

<?xml version="1.0"?>
<configuration>
  <system.serviceModel>
    <services>
      <service name="Services.MyRestService">
        <endpoint address="http://localhost:8732/api" binding="webHttpBinding" contract="Shared.Services.IMyRestService"/>
      </service>
    </services>
    <behaviors>
      <endpointBehaviors>
        <behavior>
          <webHttp/>
        </behavior>
      </endpointBehaviors>
    </behaviors>
  </system.serviceModel>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>

В настоящее время он работает с использованием встроенного хоста службы WCF в Visual Studio. Однако я хотел бы запустить это в IIS и использовать Unity для настройки моего контейнера. Сейчас я использую « bastard инъекция » для выполнения работы, но хотел бы использовать Unity для обеспечения реализации поставщика данных и т. Д.

У меня вопрос: какие изменения в конфигурации мне нужно сделать, чтобы разместить их в IIS, а также где я могу настроить контейнер и сообщить IIS об этом.

Нет файлов SVC, так как это сервисная библиотека WCF.

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 30 января 2012

«Нормальный» способ сделать это - реализовать пользовательскую точку расширения IInstanceProvider WCF и добавить ее через конфигурацию.Я делал это только с обычными конечными точками SOAP, но я думаю, что он будет работать так же для WebAPI.

Пара ссылок, которые могут помочь:

2-я ссылка охватывает некоторые элементы конфигурации XML для добавления пользовательского IInstanceProvider к поведению.

0 голосов
/ 30 июня 2012

С WCF REST вы бы использовали WebServiceFactory и WebServiceHost в качестве базовых классов.

...