我正在开发一个 Windows 服务,它从特定的 URL 下载图像。该服务在我的计算机上正常运行,但是当我将其安装在服务器中时,它不会下载图像并给出以下错误:
System.Net.WebException: Unable to connect to the remote server --->
System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 212.100.220.117:80
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
at System.Net.WebClient.DownloadData(Uri address)
at System.Net.WebClient.DownloadData(String address)
可能是什么原因导致该错误以及如何解决? 我读了这一页: http://support.microsoft.com/kb/318140
我不确定这是否是问题所在,如果是我应该在配置中编写什么代理。向您征求意见。
我找到了答案。我试图从服务器访问公共地址“http://mywebsite.com/images/”。相反,我使用了托管该网站的服务器的本地 IP,它现在可以正常工作了。
如果您正在工作,这可能表明您未连接到 VPN。
在这种情况下,端口 80 可能未打开。在防火墙设置中创建入站和出站规则以打开端口 80。不过,如果问题存在,请尝试禁用防病毒软件,防病毒软件可能会阻止该端口。
就我而言,我必须在 Windows 服务控制台中修改 Windows 服务的登录设置,然后使用域管理员帐户来运行该服务,而不是常规的本地系统/服务帐户,然后它开始正常工作。
当我想使用 SMTP 方法发送电子邮件时,我也遇到这个问题,这是我的代码:
MailMessage message = new MailMessage("my-email-address", "target-address");
message.Body = "*****";
message.Subject = "Hello";
var client = new SmtpClient("smtp.gmail.com");
client.Port = 587;
client.Credentials = new NetworkCredential("amin h", "***");
client.EnableSsl = true;
client.Send(message);
有人可以帮助我吗?