2011-10-10 115 views
0

我有以下奇怪的情況。從IIS 7.5託管的WCF執行HttpWebRequest

我想一個WCF服務,IIS 7.5中的快速託管內執行的代碼序列如下:

var request = WebRequest.Create(some_uri) as HttpWebRequest; 

request.Method = "GET"; 
request.Credentials = CredentialCache.DefaultNetworkCredentials; 

request.GetResponse(); 

當從一個WCF服務執行,我得到以下異常:

[引發WebException:無法連接到遠程服務器]

及其內部異常:

[SocketException:無連接可以作出,因爲目標 機器積極地拒絕它127.0.0.1:400]

的代碼從控制檯應用程序相同序列成功執行。

我嘗試以下事情下IIS 7.5快車運行的代碼:

  1. 精確設置代理對請求對象的複製設置從IE(代理用於那裏)和它的工作。
  2. 顯式設置代理爲空,它也起作用。

現在,我有幾個問題:

  1. 爲什麼IIS 7.5的初始代碼下不能正常工作,然而在控制檯應用程序一切正常?
  2. 原始代碼和第一個解決方案有什麼區別?據我所知,如果我不指定代理,默認情況下,IE代理設置將被應用。但事實證明,解決方案並不等同。
  3. 是否有任何其他解決方案使呼叫源自WCF成功?

回答

2

IIS代碼正在IIS用戶帳戶下運行,該用戶帳戶可能沒有配置您的代理。

+0

你能指導我們去完成這個任務嗎? – 2013-03-27 22:16:50

+0

@布萊恩:我不知道 – SLaks