2012-01-05 89 views
0

我的問題是:爲什麼當項目在Visual Studio 2010中運行,但是從IIS在同一臺電腦上沒有送達時,開發站點的工作?ASP.NET網站通過從Visual Studio SSL遠程連接,但不IIS

我想建立一個客戶的網站的開發副本。啓動時,該站點連接到遠程數據庫服務器。連接使用WCF和SSL證書來保護它。當我在PC上安裝站點時,按照說明進行操作,我在「受信任的根證書頒發機構」中安裝了證書鏈,並添加了註冊表項和主機條目來解析與遠程服務的連接。

當我在PC上打開Visual Studio 2010中的解決方案並在內置的ASP.NET開發服務器上運行它時,它可以工作 - 我的工作站通過自定義端口上的SSL連接到遠程服務(444)並且開發站點從服務中成功查詢數據。所有這些都由項目提供的DLL處理,並且不在我的工作範圍之內。我被告知前面說,這個連接對於SSL證書,兩臺機器之間的系統時鐘協議等都非常挑剔,而且我花了一些時間來嘗試使它工作。

然而,當我在本地IIS運行網站(Windows 7中,IIS 7.5)的網站無法連接到遠程服務;該服務將不接受SSL連接。啓動代碼在發生這種情況時會引發異常,從而阻止網站進一步加載。

其他的一切似乎很好地工作:唯一的皺紋是VS要求安全連接DLL的32位版本,而IIS的Windows 7需要一個64位版本。兩者都提供給我,我根據需要交換它們。

+0

什麼是完整的例外呢? – NotMe 2012-01-05 20:28:20

+0

該異常沒有來自原點的堆棧跟蹤;這裏是它拋出的代碼。我無法訪問連接庫(即「XX_DataCon_Client」)的源代碼。 '如果(ConfigSettings.WcfComChannelState == XX_DataCon_Client.Errors.UPDC_Errors.SSLNegotiateFailed) { \t擲新的異常(「發生錯誤的數據源提供者接觸。\ r \ n此服務不可用在所配置的位置」。) ; }' – Lars 2012-01-05 20:38:56

+0

啊哈!這是證書鏈安裝。我之前沒有使用certmgr並接受「當前用戶」的默認實體商店。客戶端技術聯繫人通過重新進行操作,選擇了「Local Machine」。現在IIS進程也將SSL證書識別​​爲可信,並且連接初始化正常。 – Lars 2012-01-06 17:42:48

回答

0

%的意見,得到的答案是:檢查證書鏈(信任由WCF連接所使用的SSL證書)安裝到本地計算機(使IIS看到它),而不僅僅是當前用戶(帳號使用由Visual Studio)。

相關問題