共用方式為


使用者入門教學課程疑難排解

本主題列出在進行使用者入門教學課程時遇到的最常見問題,以及如何解決這些問題的方式。

  1. 我在硬碟上找不到專案檔。

  2. 嘗試執行服務應用程式時,發生下列錯誤:HTTP 無法登錄 URL http://+:8000/ServiceModelSamples/Service/。您的處理程序沒有足夠的存取權可存取此命名空間。

  3. 嘗試執行服務應用程式時,發生下列錯誤:HTTP 無法登錄 URL http://+:8000/ServiceModelSamples/Service/。您的處理程序沒有足夠的存取權可存取此命名空間。

  4. 找不到 Svcutil.exe 產生的 App.config 檔案。

  5. 在編譯用戶端應用程式時,發生下列錯誤:'CalculatorClient' 不包含 '<method name>' 的定義,也找不到擴充方法 '<method name>' 來接受型別 'CalculatorClient' 的第一個引數 (您是否遺漏 using 指示詞或組件參考?)

  6. 在編譯用戶端應用程式時,發生下列錯誤:找不到型別或命名空間名稱 'CalculatorClient' (您是否遺漏 using 指示詞或組件參考?)

  7. 出現下列訊息:未處理的例外狀況: System.ServiceModel.Security.SecurityNegotiationException: 與目標 'https://localhost:8000/ServiceModelSamples/Service/CalculatorService' 的 'https://localhost:8000/ServiceModelSamples/Service/CalculatorService' 進行 SOAP 安全性交涉失敗。

我在硬碟上找不到專案檔。

Windows Vista 與 Windows 7 上的 Visual Studio 會將專案檔儲存在 c:\使用者\<使用者名稱\Documents\Visual Studio 2010\Projects,而舊版 Windows 則是儲存在 c:\Documents and Settings\<使用者名稱>\My Documents\Visual Studio 2010\Projects。

嘗試執行服務應用程式時,發生下列錯誤:HTTP 無法登錄 URL http://+:8000/ServiceModelSamples/Service/。 您的處理程序沒有足夠的存取權可存取此命名空間。

裝載 WCF 服務的處理序必須以系統管理權限執行。 如果您是從 Visual Studio 2010 內部執行此服務,則必須以系統管理員身分執行 Visual Studio 2010。 如果要執行這項操作,請按一下 [開始],再以滑鼠右鍵按一下 [Visual Studio 2010],然後選取 [以系統管理員身分執行]。 如果您是從命令提示字元執行此服務,同樣必須以系統管理員身分啟動命令提示字元。 請按一下 [開始],再以滑鼠右鍵按一下 [命令提示字元],然後選取 [以系統管理員身分執行]。

當嘗試使用 Svcutil.exe 工具時,發生下列錯誤:'svcutil' 不是內部或外部命令、可執行的程式或批次檔。

Svcutil.exe 必須位於系統路徑。 最簡單的解決方式是使用命令提示字元。 請按一下 [開始],再依序選取 [所有程式]、[Visual Studio 2010]、[Visual Studio Tools] 和 [Visual Studio 2010 命令提示字元]。 針對 Visual Studio 2010 隨附的所有工具,這個命令提示字元會將系統路徑設為正確位置。

找不到 Svcutil.exe 產生的 App.config 檔案。

[加入現有項目] 對話方塊預設只會顯示具有下列副檔名的檔案:.cs、.resx、.settings、.xsd、.wsdl。 您可以從 [加入現有項目] 對話方塊右下角的下拉式清單方塊中選取 [所有檔案 (*.*)],指定要檢視所有檔案類型。

在編譯用戶端應用程式時,發生下列錯誤:'CalculatorClient' 不包含 '<method name>' 的定義,也找不到擴充方法 '<method name>' 來接受型別 'CalculatorClient' 的第一個引數 (您是否遺漏 using 指示詞或組件參考?)

只有已使用 ServiceOperationAttribute 標示的方法才會向外界公開。 如果 ICalculator 介面的任一個方法省略了 ServiceOperationAttribute 屬性,在編譯呼叫此作業的用戶端應用程式時,就會因為遺漏屬性而發生這個錯誤。

在編譯用戶端應用程式時,發生下列錯誤:找不到型別或命名空間名稱 'CalculatorClient' (您是否遺漏 using 指示詞或組件參考?)

如果您未將 Proxy.cs 或 Proxy.vb 檔案加入至用戶端專案,就會發生這個錯誤。

執行用戶端時,出現下列訊息:未處理的例外狀況: System.ServiceModel.EndpointNotFoundException: 無法連接到 https://localhost:8000/ServiceModelSamples/Service/CalculatorService。 TCP 錯誤碼 10061: 無法連線,因為目標電腦主動拒絕連線。

如果執行用戶端應用程式但未執行服務,就會發生這個錯誤。

出現下列訊息:未處理的例外狀況: System.ServiceModel.Security.SecurityNegotiationException: 與目標 'https://localhost:8000/ServiceModelSamples/Service/CalculatorService' 的 'https://localhost:8000/ServiceModelSamples/Service/CalculatorService' 進行 SOAP 安全性交涉失敗。

如果電腦已加入網域卻沒有網路連接,就會發生這個錯誤。 請將您的電腦連接至網路,或是關閉用戶端與服務兩者的安全性。 在服務方面,找出建立 WSHttpBinding 的程式碼並修改為以下內容。

// Step 3 of the hosting procedure: Add a service endpoint
selfhost.AddServiceEndpoint(typeof(ICalculator), new WSHttpBinding(SecurityMode.None), "CalculatorService");

在用戶端方面,將 <binding> 項目底下的 <security> 項目變更為以下內容:

<security mode="Node" />

另請參閱

概念

WCF 疑難排解快速入門
疑難排解安裝問題

其他資源

使用者入門教學課程