2011-10-10 84 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