2009-12-22 72 views
2

有什麼辦法可以完成以下任務:WCF HTTPS和HTTP綁定與單個web.config

.NET Web應用程序的單個Web.config文件。 Web應用程序公開了一些WCF服務供JavaScript使用。

生產需要ssl,所以所有這些服務都強制通過ssl。

發展不允許SSL(ASP.NET開發服務器)

如何配置這使生產將利用HTTPS終結點,並開發將使用相同的服務的HTTP終結?

將兩個端點添加到同一個服務不起作用,因爲當它嘗試連接到HTTP端點時,它會引發錯誤,因爲asp.net開發服務器不支持https端點。

回答

2

我通過使用ServiceHostFactory爲我生成適當的綁定來解決此問題。

起初有點尷尬,控制力較差,但最終效果更好。

這是是關鍵的線,我把它放在我的.svc文件:

Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory"

0

我不確定這是對您的問題的最佳解決方案,但做到這一點的一種方法是在配置文件中聲明一個變量以指示它在(dev或prod)中運行的環境。如果配置兩個端點,你可以說你的代碼託管,

如果環境==「開發」,然後主機上端點A.服務

如果環境==「EVAL」,然後託管服務在端點B上。