共用方式為


針對 Visual Studio 中的 Windows Communication Foundation (WCF) 或 WCF Data Services 參考進行疑難解答

適用於: Visualstudio

本文列出當您在 Visual Studio 中使用 Windows Communication Foundation (WCF) 或 WCF Data Services 的參考時,可能發生的常見問題解決方案。

如果您想要更新或移除服務參考,請參閱 新增、更新或移除 WCF 資料服務參考

未提供服務地址時發生錯誤

當您選取沒有位址的 [移 至] 按鈕時,可能會看到錯誤訊息,指出「請輸入服務的位址」。若要解決此問題,請識別服務的位址並輸入。

  • 如果是解決方案中的服務,您可以使用 [ 探索 ] 按鈕來尋找並選取它,然後再試一次 [移至 ] 按鈕。
  • 如果它是裝載於因特網上某處的服務,請依照 新增WCF服務參考中的指示加以新增。

從服務傳回數據時發生錯誤

當您從服務傳回 DataSetDataTable 時,可能會收到「已超過傳入訊息的大小上限配額」例外狀況。 根據預設, MaxReceivedMessageSize 某些系結的 屬性會設定為相對較小的值,以限制暴露於阻斷服務攻擊的風險。 您可以增加此值以防止例外狀況。 如需詳細資訊,請參閱 MaxReceivedMessageSize

若要修正此錯誤:

  1. 方案總管 中,按兩下 app.config 檔案加以開啟。
  2. 找出 屬性, MaxReceivedMessageSize 並將其變更為較大的值。

在我的解決方案中找不到服務

當您在 [新增服務參考] 對話框中選取 [探索] 按鈕時,方案中的一或多個 WCF 服務連結庫專案不會出現在服務清單中。 如果服務連結庫已新增至解決方案,但尚未編譯,就會發生此問題。

若要修正此錯誤:

  1. 方案總管 中,以滑鼠右鍵按兩下 [WCF 服務連結庫] 專案。
  2. 取 [建置]

透過遠端桌面存取服務時發生錯誤

當使用者透過遠端桌面連線存取 Web 裝載的 WCF 服務,而使用者沒有系統管理許可權時,就會使用 NTLM 驗證。 如果使用者沒有系統管理許可權,使用者可能會收到下列錯誤訊息:「HTTP 要求未經授權且客戶端驗證配置為 『Anonymous』。 從伺服器接收的驗證標頭是 'NTLM'。」

若要修正此錯誤:

  1. 在網站專案中,開啟 [ 屬性] 頁面。
  2. 在 [ 開始選項] 索引 標籤上,清除 [NTLM 驗證] 複 選框。

注意事項

您應該只針對獨佔包含 WCF 服務的網站關閉 NTLM 驗證。 WCF 服務的安全性是透過web.config檔案中的 組態 來管理。 這樣就不需要NTLM驗證。

產生的類別設定存取層級沒有作用

將 [設定服務參考] 對話方塊中的 [產生的類別存取層級] 選項設定為 [內部] 或 [Friend] 不一定能正常運作。 即使這個選項似乎已在對話框中設定,產生的支持類別也會產生存取層級為 的 Public。 這是特定類型的已知限制,例如使用 串行化的 XmlSerializer型別。

偵錯服務程式代碼時發生錯誤

當您從用戶端程式代碼逐步執行 WCF 服務的程式代碼時,可能會收到與遺漏符號相關的錯誤。 當屬於解決方案一部分的服務已從解決方案中移動或移除時,就可能發生此情況。

當您第一次將參考新增至屬於目前方案一部分的 WCF 服務時,服務專案與服務客戶端項目之間會新增明確的組建相依性。 這可保證用戶端一律會存取最新的服務二進位檔,這對偵錯案例特別重要,例如從用戶端程式代碼逐步執行到服務程序代碼。

如果服務專案從方案中移除,這個明確的組建相依性就會失效。 Visual Studio 無法再保證服務項目會視需要重建。

若要修正此錯誤,請手動重建服務專案:

  1. 在 [工具] 功能表上,選取 [選項]
  2. 在 [ 選項] 對話框中,展開 [ 專案和方案],然後選取 [ 一般]
  3. 確定已選取 [ 顯示進階組建組 態] 複選框,然後選取 [ 確定]
  4. 載入 WCF 服務專案。
  5. 在 [Configuration Manager] 對話框中,將 [作用中方案組態] 設定為 [偵錯]。 如需詳細資訊,請 參閱如何:建立和編輯組態
  6. 方案總管 中,選取 WCF 服務專案。
  7. 在 [ 建置] 功能表上,選取 [ 重建 ] 以重建 WCF 服務專案。

WCF Data Services 不會顯示在瀏覽器中

當它嘗試在 WCF 數據服務中檢視數據的 XML 表示法時,Internet Explorer 可能會將數據錯誤解譯為 RSS 摘要。 請確定已停用顯示 RSS 摘要的選項。

若要修正此錯誤,請停用 RSS 摘要:

  1. 在 Internet Explorer 的 [ 工具] 選單上,選取 [ 因特網選項]
  2. 在 [ 內容] 索 引標籤的 [ 摘要] 區 段中,選取 [ 設定]
  3. 在 [ 摘要設定 ] 對話框中,清除 [ 開啟摘要閱讀視圖 ] 複選框,然後選取 [ 確定]
  4. 選取 [確定 ] 以關閉 [ 因特網選項 ] 對話框。