2009-03-05 128 views
0

我設置了一個Web服務,並且我嘗試使用Proxy類從我的httpmodule調用它,它只會超時。我做了更多的測試,並嘗試了WebRequest,並且也超時了。如果我指定了錯誤的url,它會拋出一個404異常,所以看起來應該是。從網絡瀏覽器調用Web服務可以正常工作,所以這不是問題。有任何想法嗎?從httpmodule調用Web服務

+0

請顯示一段代碼。對於您是使用WebProxy還是使用「添加服務引用」/「添加Web引用」生成的類,響應會感到困惑。 – 2009-03-07 12:17:01

回答

1

HttpModules與其他任何代碼沒有區別。如果你可以從其他地方做到這一點,你可以從模塊中完成。既然你沒有提及需要代理的任何事情,我不清楚爲什麼你在這種情況下使用Proxy類。嘗試在不需要時使用代理服務器可能會導致超時,因爲您正在向不存在的網絡代理髮送請求。

你能不能只用一個Web ReferenceWebRequest連接到服務?

+0

我沒有理由需要使用代理,我只是認爲它使事情變得更容易。嘗試兩種方式失敗。 網址是否必須是靜態的才能使Web引用起作用? Web服務的主機將會變化,所以我不認爲這會起作用。 – mach77 2009-03-05 23:42:47

0

你確定你和web服務之間沒有代理服務器嗎?.Net很好地解決了這個問題,但是我發現很多問題讓框架試圖理清代理的位置。

這裏是一個硬編碼的解決方案,但是任何形式的不是最好的做法顯示瞭如何將代理連接到Web客戶端的請求..

WebProxy proxy = new WebProxy("111.222.333.444:8080"); 
proxy.Credentials = CredentialCache.DefaultCredentials; 
WebClient wc = new WebClient(); 
wc.Proxy = proxy; 
// do your other stuff 

香港專業教育學院發現的.Net真正的鬥爭,當端口心不是80時服務器平臺沒有在Internet Explorer中設置代理服務器,我寧願說實話,我相信默認只是看當地的互聯網連接設置,但不要引用我的那個