Несколько оконечных точек WCF для одного сервиса с Cassini - PullRequest
0 голосов
/ 22 июля 2010

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

<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, но не Кассини. Спасибо.

Ответы [ 2 ]

2 голосов
/ 23 июля 2010

Встроенный веб-сервер Visual Studio (Cassini) не поддерживает SSL: Поддерживает ли сервер разработки ASP.NET (a.k.a. Cassini) SSL?

Скоро появится IIS Express (бета), что и происходит.

0 голосов
/ 25 мая 2011

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

  1. Создайте самозаверяющий тестовый сертификат с помощью инструмента командной строки или IIS с полным именем вашего компьютера (т.е. mymachinename).
  2. Добавьте базовый адрес в вашу конфигурацию WCF, которая использовала ваше macinename, а не "localhost" dns. Так что https://mymachinename:8020/Services/MyWCFTest может быть базовым адресом.
  3. Примените самоподписанный сертификат SSL, созданный на шаге № 1, к порту 8020 (или любому другому порту, который вы выбрали), как показано здесь: Как: настроить порт с помощью сертификата SSL

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

...