使用 Windows Phone 7 模擬器連線至 SSL WCF 服務
英文原文已於 2011 年 6 月 19 日星期日發佈
之前嘗試了解為什麼我的 Windows Phone 7 應用程式無法連線至 WCF 端點有許多樂趣。我已經使用標準 Winform 用戶端應用程式進行完整測試,而且一切都很正常,但是每當我嘗試從我的 WP7 模擬器點擊相同的端點時,我都會收到惱人的錯誤,其中包含「沒有任何端點接聽」的訊息,以及如果您查看內部例外狀況,還會有類似 404 找不到回應的訊息。這當然很蠢,端點就在那裡。我學到兩件事以解決這個問題:
- 這個錯誤真正指的是電話模擬器在其受信任的憑證清單中沒有 SSL 憑證的根憑證授權單位。很不幸地是,即使使用 WP7 1.1 (也就是 Mango SDK),似乎仍然不是很容易這樣做。您真正需要做的是將根 CA .cer 檔案放入某個位置的 zip 檔案中,然後將它放在您可以下載它的網站。它可以是本機開發伺服器,您可以使用 HotMail 等電子郵件服務將它寄給自己。在模擬器中瀏覽至該檔案,而且它將會下載它,然後教您 zip 檔案的內容。如果您按一下 .cer 檔案,它將會詢問您是否要安裝。請接受此提議,就會將它放在受信任的憑證授權單位清單中,這樣就完成了。或者它可能似乎... (請參閱下一個項目)
- 我在 #1 說明的步驟在停止和重新啟動模擬器之前都運作得很好。它並沒有持續的狀態,似乎只要每次停止它 (或是有許多次是它自己停止和/或從 Visual Studio 中斷),都必須從頭重複步驟 1。每次真的都好痛苦。我不確定這是否有修正程式,但是我相信有一天將會提供。
這是翻譯後的部落格文章。英文原文請參閱 Connecting to an SSL WCF Service with Windows Phone 7 Emulator