2013年6月6日 星期四

SilverLight連接WCF使用SSL

1.設定Web.Config:
最基本的是wcf的package路徑要設定好,再設定相關走SSL的設定
黃色區塊是一定要注意的地方,其中有個紅底色的https,一定要記得加s才繞的過去SSL

<system.serviceModel>
<services>
<service name="XXX.WebApp.InsuranceService" behaviorConfiguration="asdf">
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="httpBinding" contract="XXX.WebApp.IInsuranceService" />
</service>
</services>

<diagnostics>
<endToEndTracing activityTracing="true" messageFlowTracing="true" propagateActivity="true"></endToEndTracing>
</diagnostics>

<bindings>
<basicHttpBinding>
<binding name="httpBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="None" />
</security>
</binding>
</basicHttpBinding>
</bindings>

<behaviors>
<serviceBehaviors>
<behavior name="asdf">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug  includeExceptionDetailInFaults="true" />

</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"  multipleSiteBindingsEnabled="false"/>
</system.serviceModel>

2.Silverlight的config
Security mode要記得設定為TransportCredenialOnly
wcf的網址路徑一定要記得+S

<configuration>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="BasicHttpBinding_IInsuranceService" maxBufferSize="2147483647"
                    maxReceivedMessageSize="2147483647">
<security mode="TransportCredentialOnly" />
                </binding>
            </basicHttpBinding>
        </bindings>
        <client>
<endpoint address="https://xx.com.tw/xxService.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IInsuranceService"
contract="ServiceReference.IInsuranceService" name="BasicHttpBinding_IInsuranceService" />

</client>
    </system.serviceModel>
</configuration>