2011-11-25 49 views
0

我是一個C#中的WebService asmx,有兩種方法。我在8088端口上的外部服務器上發佈了此服務,爲了連接到防火牆中的此服務,我將端口從xxx.xxx.xxx.xxx:80(路由)轉換爲192.168.20.12:8088。在瀏覽器中可以連接到這個Web服務(xxx.xxx.xxx.xxx/Service1.asmx)。現在我創建一個SmartDeviceProject,並在此模式下將Web服務添加到WebReference上時:xxx.xxx.xxx.xxx/Service1.asmx我得到此錯誤: 無法下載以下文件:xxx.xxx.xxx.xxx: 8088/Service1.asmx的WSDL 當在此模式下添加:xxx.xxx.xxx.xxx/Service1.asmx?wsdl服務成功添加但在這種情況下,代碼:WebService asmx錯誤:無法建立連接到網絡

 public Service1() { 
      this.Url = "http://xxx.xxx.xxx.xxx:8088/Service1.asmx"; 
     } 

當我執行一個項目獲取此錯誤:無法建立連接到網絡 我得到這個錯誤,如果從URL刪除所有代碼端口8088。

有誰知道我可以如何解決這個問題?

回答

1

創建代理實例之後,url屬性設置爲正確的值,就像構造函數將其設置爲錯誤的值:

using (var proxy = new Service1()) 
{ 
    proxy.Url = "xxx.xxx.xxx.xxx/Service1.asmx"; 
    // use the proxy to call operations on the service 
} 
+0

我嘗試這種方法,但不起作用。 – wertyk

+0

請更具體。你是什​​麼意思,「不起作用」?有沒有例外? –

+0

我解決了這個錯誤,謝謝。問題出在移動模擬器的互聯網連接上。 – wertyk

2

如果我沒有記錯,在SmartDevice項目(即PocketPC)這個例外意味着你無法訪問網絡。

如果您正在仿真器中運行此操作,則需要確保仿真器和仿真設備都配置爲連接到互聯網或本地網絡,具體取決於服務的託管位置。

+0

我認爲你是正確的,因爲我在asp.net中創建了一個項目,並且我已連接到Web服務和她的方法。 – wertyk

+1

我必須在這種模式下連接到互聯網:在移動應用程序模擬器上:文件 - >配置... - >網絡 - >檢查啓用NE2000 PCMCIA網絡適配器並綁定到: - >選擇我的網卡與互聯網(但我必須安裝Virtual PC 2007)。 – wertyk

+0

http://www.devx.com/wireless/Article/38500/1954 – wertyk

相關問題