2010-07-22 2 views
0

Я пытаюсь настроить службу WCF для Silverlight для использования либо http, либо https, и отлично работает с IIS, но не с веб-сервером, встроенным в Visual Studio (Cassini). Услуги раздел web.config system.serviceModel является:Несколько конечных точек WCF для одной службы с Cassini

<services> 
<service behaviorConfiguration="RhymeDotBehavior" name="RhymeDot.Service.Root"> 
    <endpoint name="RhymeDotHttp" address="" binding="basicHttpBinding" 
        bindingConfiguration="RhymeDotBinding" contract="RhymeDot.IRootService"/> 
    <endpoint name="RhymeDotHttps" address="" binding="basicHttpBinding" 
        bindingConfiguration="RhymeDotBindingHttps" 
        contract="RhymeDot.IRootService"> 
     <identity> 
      <dns value="localhost"/> 
     </identity> 
    </endpoint> 
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
</service> 
</services> 

Если удалить 2-ой конечной точки, все отлично работает с Кассини. Я могу легко настроить URL-адрес службы, указанный клиентом, если это необходимо, когда я обнаруживаю «localhost». Я уже настраиваю URL-адрес svc как http или https на основе URL-адреса приложения silverlight. Это отлично работает с IIS, но не с Cassini. Благодарю.

ответ

0

Вы можете технически сделать эту работу через отладчик VS.NET (Cassini), но вам придется сделать несколько вещей.

  1. Создайте самоподписанный сертификат теста с помощью инструмента командной строки или IIS с полным именем вашего устройства (то есть mymachinename).
  2. Добавьте базовый адрес в конфигурацию WCF, которая использовала ваше имя для macin, а не DNS-адрес localhost. Таким образом, https://mymachinename:8020/Services/MyWCFTest может быть базовым адресом.
  3. Применить самоподписывающемуся SSL сертификат, сделанное на этапе № 1 к порту 8020 (или любой другой порт, который вы хотите использовать), как показано здесь: How to: Configure a Port with an SSL Certificate

  4. Выполните обслуживание через VS.NET. Если вы используете тестовый клиент WCF, вы увидите, что ваш локально размещенный сервис WCF открыт через Https.

Смежные вопросы