2009-09-02 34 views
1

我不確定您是否將Web服務放在單獨的項目中,但目前我們所有的Web服務都在我們的WAP項目下的各種文件夾下....對我來說這是一個皇家一塌糊塗。無論如何,除了單元測試,嘲諷等,我創建了一個新的Web項目。我想要使​​用其他Web項目的服務之一進行測試。消費和測試Web服務的最佳方式

但我意識到,當我添加項目引用到其他Web項目時,我開始獲取像第三方控件的引用錯誤,可能是因爲此測試Web項目中的web.config沒有一些相同的鍵。

顯然這是錯誤的路要走。利用這項服務的簡單方法不需要重構我們現在如何在物理上存儲服務?

+0

爲了澄清,源項目是一個Web服務項目的權利?或者它是一個普通的舊的asp.net項目? – TJB 2009-09-02 01:03:51

+0

純WAP項目。我遇到的問題是我將WAP項目的dll添加到我的測試WAP項目中,但最後我不得不添加相同的引用,以使我的WAP項目(具有.asmx的項目)具有相同的引用,否則這些引用都會崩潰。 – PositiveGuy 2009-09-02 01:06:07

回答

2

如果您的源項目是一個Web服務項目,您可以創建一個新的asp.net Web應用程序項目,右鍵單擊並將服務參考添加到您的服務項目中。

從那裏,有很多方法來測試服務。您可以創建一個頁面來檢查所有不同的服務方法,並生成一個顯示結果的網頁,或者有一個頁面允許您輸入信息來測試每種服務方法。

這裏是MSDN頁面開始使用Web服務,他們很可能有一些很好的教程。 http://msdn.microsoft.com/en-us/library/t745kdsh.aspx

我也建議調查WCF服務,其他服務選項 http://msdn.microsoft.com/en-us/netframework/aa663324.aspx

當然,單元測試可能是你最好的選擇。在Visual Studio中,您可以添加一個單元測試項目來測試您的Web服務的類並以這種方式測試各個方法。

+0

對我來說,只有服務能夠像其他任何項目一樣在一個單獨的項目中才有意義! – PositiveGuy 2009-09-02 01:14:14

1

不要將其作爲項目引用添加,請將Web服務添加爲Web引用以便使用它。爲此,儘管服務必須以某種方式進行部署(即使它只是在該框上)。

另一種方法是使用VS2008,你可以測試Web服務這樣(的偉大工程,我有VS2K8臨): http://msdn.microsoft.com/en-us/library/ms243399.aspx

對於舊版本這裏是一個文章: http://msdn.microsoft.com/en-us/magazine/cc163830.aspx

+0

如果.asmx位於其他Web項目中,那麼「服務引用」如何?我是否將其他WAP項目納入了我的解決方案中,該解決方案包含我的新測試WAP項目,或者我可以僅通過dll或其他方式引用它? – PositiveGuy 2009-09-02 01:50:00

+0

您可以使用它來添加Web引用。打開添加服務參考後,進入高級按鈕並添加一個Web引用。該參考正在尋找已部署的服務。它會需要Web服務運行的URL。 – klabranche 2009-09-02 02:19:58

+0

如果你有VS 2008 Pro,你可以在使用上面提供的鏈接進行部署之前進行測試.... – klabranche 2009-09-02 02:20:48

0

如果您當前的Web應用程序項目正在提供服務,您可能需要將該服務代碼遷移到Web服務項目

要麼提取所提供的服務到新項目的代碼/類和裝飾所提供的服務爲

[WebMethod()] 

這樣的方法,你可以保留當前的代碼庫,只是重新安排項目並添加一些屬性以將其作爲服務公開。

另一種方法是將Web服務添加到當前的Web應用程序。 它可以與您的Web應用程序並排生活,並且您可以創建Web方法來展示您想要的任何服務。

您的測試項目可能會使用這些服務中的任何一個並測試各個方法。