2012-02-07 41 views
1

如何在Visual Studio 2010中使用調試服務?我想要做的是在請求正在處理的時候通過代碼。如何在Visual Studio中測試API服務

我通過在解決方案中右鍵單擊網站項目(C:... \ APIServiceSite)並選擇「在瀏覽器中查看」來運行該服務。一切運行良好,我從服務中得到預期的結果,但是我找不到一種方法來在同一個解決方案中通過另一個項目(APIService)中的代碼。

+2

我們需要更多信息。你有沒有嘗試在這個其他項目中放置斷點?還有其他方法可以調試這種不涉及使用Visual Studio的服務。 – 2012-02-07 15:35:18

+0

您還需要其他什麼信息?我試圖像在任何其他項目一樣,通過在關注區域設置一個斷點來調試此項目。 – BrianKE 2012-02-07 15:37:31

+0

你按了「F5」嗎? – 2012-02-07 17:32:54

回答

2

關閉我的腦海:右鍵單擊服務項目,然後選擇調試>>啓動新實例。然後在您的網絡「測試」應用程序上啓動調試。你現在應該能夠完成你的願望。 (因爲這是我的頭頂,如果失敗了,它非常接近正確的答案)。

更好的選擇是將功能移入類庫並使Web服務項目變得非常簡單(實質上是從類庫程序集返回調用)。然後,您可以使用單元測試庫(如MSTest(內置於Visual Studio的大多數團隊系統SKU)或nUnit(等))來測試業務功能。當然測試將可能是集成測試,但你完成兩件好事:

  1. 你得到的UI出來的測試公式,因此您可以專注於業務邏輯
  2. 創建可重複的測試(想學,不是藝術)

我覺得這是一個非常糟糕的模式,在UI項目中移動部件,除非移動部件專注於數據表示。而且,是的,即使用戶是應用程序而不是人體,我也將Web服務視爲UI。

+0

就這樣,我對整個世界的看法都改變了。 +1 – 2012-02-07 23:18:55

+0

@韋斯利:希望它成爲更友善的世界觀。 ;-) – 2012-02-10 16:31:31

+0

是的,它的確如此。我有一個* doh!*時刻。您只是向我展示了我可以在沒有IIS開銷的情況下單元測試我的Web服務/ WCF應用程序。謝謝! – 2012-02-10 19:25:06

0

我通過製作使用它的標準wpf應用程序來調試服務。通過添加現有項目/添加爲將服務中的所有源文件鏈接到新項目(wpf應用程序)中,並將其添加到此應用程序的單獨文件夾中。所以我可以測試它,並以相同的方式調試我的應用程序。
請注意,您可能使用Microsoft日誌服務記錄您的服務作爲服務運行時可能存在的問題。爲了處理錯誤,我製作了一個處理錯誤的MustOverload(在vb中)函數,並且在我的測試應用程序中使用服務時,我將它重載爲MessageBox,並且在它作爲服務運行時將它重載爲ms日誌

關於日誌的快速信息: http://msdn.microsoft.com/en-us/library/aa984385(v=VS.71).aspx

相關問題