2008年7月21日 星期一

WCF HTTPS 出現 404 not found 的問題

最近寫了一個Siverlight 的程式 ,使用 WCF 來連接 IIS Server 上的 Service,但我發現如果是連到 http 的service 則一切正常,但是如果是連到https 就會出現 HTTP 404 Not Found 的錯誤 ,經過不斷的嘗試,終於找到答案了,原來是要在Web.config加上 basicHttpBinding 的定義, 定義如下:


<bindings>

        <basicHttpBinding>

        <!-- Configure basicHttpBinding with Transport security -- >

        <!-- mode and clientCredentialType set to None.-->

           <binding name="Binding1">

               <security mode="Transport">

                   <transport clientCredentialType="None"/>

               </security>

           </binding>

        </basicHttpBinding>

    </bindings>


重點是要將 security mode 設成 Transport,這樣使用HTTPS 來連接這個service 就可以正常了,只是原來出現的 HTTP 404 Not Found 的錯誤,真是讓人怎麼想也想不到是這個問題。

沒有留言: