Я создал веб-роль, на которой размещаются две конечные точки (один HTTP и другой HTTPS). Обе конечные точки указывают на ту же службу Main.svc
, которая настроена как RESTful. Это моя конфигурация (показывать только HTTPS один, как это одна дает мне проблемы):WCF с HTTPS на Azure
<services>
<service behaviorConfiguration="AthenaBehaviorConfigHttps" name="Athena.LEC.Service.Main">
<endpoint address="" behaviorConfiguration="AthenaBehaviorEndpointConfig"
binding="webHttpBinding" contract="Athena.LEC.Service.IMain" />
<endpoint binding="basicHttpBinding" bindingConfiguration="SecureBasic" name="basicHttpSecure" contract="Athena.LEC.Service.IMain" />
</service>
</services>
Поведение конфигурации: связывание
<behavior name="AthenaBehaviorConfigHttps">
<serviceMetadata httpsGetEnabled="true" httpsGetUrl="" httpGetEnabled="true" httpGetUrl="" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
Basic HTTP:
<basicHttpBinding>
<binding name="SecureBasic">
<security mode="Transport" />
</binding>
</basicHttpBinding>
На лазури конфигурация веб-роли:
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="HttpEndpoint" />
<Binding name="Endpoint2" endpointName="HttpsEndpoint" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="HttpEndpoint" protocol="http" port="7902" />
<InputEndpoint name="HttpsEndpoint" protocol="https" port="7955" />
</Endpoints>
По HTTP Я проверил, что спокойный звонок был успешным. Однако на порту 7955 (настроен как Https), когда я использую свой браузер для совершения вызова, он просто привел к пустой странице (обычно возвращается результат JSON). Это нормально? Или я что-то неправильно настраиваю? Благодаря!
Спасибо, Рик, я следовал примерам вашего сообщения, но достиг одного результата. Я не уверен, что это то, как я тестирую конечную точку службы, которая является неправильной. Я использую браузер для имитации вызова https get call, должен ли я создать клиент и выполнить тест вместо этого? Я также где-то читал, что https get не будет работать на локальном эмуляторе, не уверен, что это правда. –
Я бы порекомендовал вам использовать Fiddler вместо вашего клиента для тестирования. Вы сможете делать больше, чем просто GET. Вы также увидите полный ответ. Возможно, вы получаете ответ, который ожидаете, но браузер просто не делает его правильно (или вообще). –
Спасибо, ваше сообщение в блоге направило меня в правильном направлении. Я использую Fiddler, и все работает нормально. –