WCF только через HTTPS SVC, размещенный в проекте MVC - PullRequest
0 голосов
/ 11 февраля 2012

У меня есть файл WCF .svc, добавленный в мой проект MVC3, и я пытаюсь предотвратить доступ к службе по HTTP.

В приведенной ниже конфигурации мой сервис доступен через https на одном порту, а затем через http на другом.

Как я могу предотвратить это?

Спасибо

<system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="TS">
                    <security mode="Transport">
                        <transport clientCredentialType="None"/>
                    </security>
                </binding>
            </basicHttpBinding>
        </bindings>
        <services>
            <service name="Endpoints" behaviorConfiguration="Default">
                <endpoint address="https://localhost:44301/Services/Endpoints.svc" binding="basicHttpBinding"  bindingConfiguration="TS" contract="UkerLtd.Services.IEndpoints"></endpoint>
                <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
            </service>
        </services>
        <behaviors>
            <serviceBehaviors>
                <behavior name="Default">
                    <serviceMetadata httpGetEnabled="false" httpsGetUrl="https://localhost:44301/Services/Endpoints.svc" httpsGetEnabled="true" />
                    <serviceDebug includeExceptionDetailInFaults="true" />
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <serviceHostingEnvironment multipleSiteBindingsEnabled="false" />
    </system.serviceModel>

1 Ответ

0 голосов
/ 09 мая 2013

Вы можете прокомментировать или удалить вторую конечную точку для IMetadataExchange,
поскольку он предназначен для одной и той же службы, метаданные будут доступны
httpsGetEnabled = "true" в serviceBehaviors / serviceMetadata.

В противном случае вы могли бы «настроить IIS на использование SSL», но так как это не вариант ..

надеюсь, это поможет.

...