2009-11-13 48 views
0

我試圖在ASP.NET中創建一個web服務並獲取智能設備應用程序中的數據。.NET和webservices:如何?

我有標準的HelloWorld webservice,我想在我的應用程序中獲取數據,但是當我嘗試向我的項目添加Web引用時,Visual Studio找不到任何運行的web服務。如果我在WebService項目中啓動WebService並將該URL複製/粘貼到Application項目中的「添加WebReference」,Visual Studio將查找Webservice,並且可以使用InttilSence查找HelloWorld方法(WebServiceClass.HelloWorld()) WebService。但是,當我然後運行應用程序項目編譯器給出一個錯誤,說它無法連接到WebService。

我該怎麼做?我如何訪問應用程序項目中的Web服務?我讀過的關於該主題的每篇教程或書籍都沒有說明我應該如何運行web服務。在我的世界中,web服務項目應該在我可以從另一個項目訪問它之前運行,還是我錯了?

+0

什麼是確切的錯誤?如果你可以將它添加到你的項目中,這意味着可以訪問web服務。 – monksy 2009-11-13 22:44:21

+0

錯誤是: 無法連接到遠程服務器 – Poku 2009-11-13 22:59:55

+0

首先檢查:您能否從仿真器或設備到達服務器(服務)?這可能是一個防火牆問題。 – 2009-11-13 23:08:59

回答

0

雖然這是一項低技術,你難道不能從智能設備應用程序創建一個web請求直接打到web服務?這將是我的建議。

一個例子就是使用「WebRequest」類。

2

首先,您應該將Web服務發佈到某個服務器(甚至是您自己的本地IIS),而不是使用Visual Studio Web服務器。

然後在您的應用程序中,在添加引用時指向正確的URL。

0

聽起來像當你試圖從你的應用程序訪問Web服務時,服務沒有運行(可能是因爲你只在Cassini服務器上運行它)。

您能夠生成Web引用的事實意味着,在某些時候,服務正在運行,並且能夠通過檢查服務來生成助手類。

我會像David Stratton所建議的那樣將它發佈到某個可以在開發智能設備應用程序(如本地IIS)時運行的地方。

您也可以利用這個機會來包裝一些錯誤處理服務呼叫 - 也許趕上拋出的特定異常(System.Net.WebException?)