【问题标题】:Unable to connect to the remote server from Asp.Net MVC无法从 Asp.Net MVC 连接到远程服务器
【发布时间】:2013-08-27 08:48:52
【问题描述】:

我正在尝试使用我的 Asp.Net MVC 应用程序中的 webclient 从外部网站获取数据。我正在使用以下代码来获取文本。

using (WebClient client = new WebClient()) 
{
      string htmlCode = client.DownloadString("http://google.com");    
}

但是,我得到操作已超时异常。

如果我在 WPF 应用程序或 WinForms 应用程序中使用相同的代码,它可以完美运行。我的 Web 应用程序中是否缺少任何配置?

注意: 我尝试过使用 WebRequest 类,但也没有成功。

【问题讨论】:

  • 你的超时设置是什么? msdn.microsoft.com/en-us/library/…
  • 您是否在与 WPF 应用程序相同的机器上运行 asp.net 应用程序? IIS进程不允许访问Internet可能是防火墙问题。
  • 我和 WPF 应用在同一台机器上运行。尝试将超时设置为 5 分钟,但仍然没有帮助。
  • 我知道已经很久了,但我遇到了同样的问题:代码作为 Windows 服务运行良好,但在 MVC 中运行时无法连接(我从我的控制器,因为这是一个漫长的过程)。你是怎么解决的?
  • 我还没有解决这个问题。我现在正在使用 Windows 服务。

标签: c# asp.net asp.net-mvc webclient


【解决方案1】:

我们也遇到了同样的错误。在 Web.Confing 中添加以下代码后,问题已为我们解决。

  <system.net>
    <defaultProxy useDefaultCredentials="true" >
    </defaultProxy>
  </system.net>

【讨论】:

  • 谢谢,Thulasiram 这个对我有用(MVCV5)!
  • 欢迎哈里斯 :-)
【解决方案2】:

老问题,但后代的答案可能是您需要使用网络代理。像这样的:

WebClient client = new WebClient();
WebProxy proxyObject = new WebProxy("http://yourproxy.something:1234/", true);
client.Proxy = proxyObject;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-24
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多