Frage

Bitte senden Sie die Schritte, die Sie zur Einrichtung von SSL getroffen haben, WCF auf Azure zu arbeiten.

Ich habe meine hochgeladen erfolgreich ( mit cspack ) und der Arbeit mit der Rest der Seite, sondern nach dem Hinzufügen, mein zuvor WCF-Dienst arbeitet aufgehört zu arbeiten. (Alles, was ich bekomme, sind ein 404-Fehler zurück, um Silverlight, was nicht sehr hilfreich ist. Bis Stimmen wen auch immer mit etwas besseren Protokollierung kommt auch ich tun könnte, das Problem diagnostizieren zu können!)

Ich habe viele Variationen dieser Konfiguration versucht:

<system.serviceModel>
     <!--start added for SSL--> 
    <bindings>
      <basicHttpBinding>
        <binding name="SecureBasicHttpBinding">
          <security mode="Transport">
            <transport clientCredentialType="None"  />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
     <!--end added for SSL--> 
    <behaviors>
      <!--start added for SSL--> 
      <endpointBehaviors>
        <behavior name="DisableServiceCertificateValidation">
          <clientCredentials>
            <serviceCertificate>
              <authentication certificateValidationMode="None"
                              revocationMode="NoCheck" />
            </serviceCertificate>
          </clientCredentials>
        </behavior>
      </endpointBehaviors>
      <!--start added for SSL--> 
      <serviceBehaviors>
        <behavior name="Silverheat.Cloud_WebRole.API.DataServiceBehavior">
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <!-- certificate checking removed --> 
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <services>
      <service behaviorConfiguration="Silverheat.Cloud_WebRole.API.DataServiceBehavior"
          name="Silverheat.Cloud_WebRole.API.DataService">
        <!--<endpoint address="" binding="basicHttpBinding" contract="Silverheat.Cloud_WebRole.API.DataService" />-->
        <endpoint bindingConfiguration="SecureBasicHttpBinding"
                  behaviorConfiguration="DisableServiceCertificateValidation"
                  address="" binding="basicHttpBinding"
                  contract="Silverheat.Cloud_WebRole.API.DataService" />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
  </system.serviceModel>

Leider ist dies das Debuggen und weitere Informationen bekommen ist wirklich schwer, weil ich nicht aus der Ferne durch und debuggen mit einem beliebigen Konfiguration treten kann, wie ich auf dem Live-Server verwenden würde, weil die Bindungen Tag hat Probleme auf Debug (aber nicht leben).

Danke für Ihre Hilfe und Interesse!

War es hilfreich?

Lösung

Wow! Es lebt! Seine Arbeits !!

Noch funktioniert nicht in debug ( Sicherheitsausnahme ), aber ich werde mit, dass bis zum nächsten Release leben.

Hier ist die Konfiguration, die funktioniert:

  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="SecureBasicHttpBinding">
          <security mode="Transport">
            <transport clientCredentialType="None"  />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="Silverheat.Cloud_WebRole.API.DataServiceBehavior">
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <services>
      <service behaviorConfiguration="Silverheat.Cloud_WebRole.API.DataServiceBehavior"
          name="Silverheat.Cloud_WebRole.API.DataService">
        <endpoint bindingConfiguration="SecureBasicHttpBinding"
          address="" binding="basicHttpBinding"
          contract="Silverheat.Cloud_WebRole.API.DataService" />
        <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
      </service>
    </services>
  </system.serviceModel>

(ich glaube, es war „mexHttpsBinding“, die es endlich geschafft arbeiten, obwohl ich nicht ganz verstehen, warum es Meta-Daten nach der bereits konfiguriert werden muss, zurück in die Bücher, die ich denke)

Ich würde noch gerne wissen, wie eine Art von für WCF Anmeldung zu aktivieren, aber ich werde ein bisschen mehr, um diese großartige Seite stoßen und ich bin sicher, dass ich eine Antwort finden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top