[英]C# Calling a URL: Timeout
我正在尝试编写程序的一部分,该程序通过调用将电子邮件发送给管理员的URL来通知管理员已更新/发送了客户端数据。 我已成功完成此操作,但仅在Windows 7和2003上成功。我需要它在Windows Server 2008上运行。它也需要在调用url时向用户隐藏Web浏览器。 如果我打开浏览器窗口,则可以成功发送电子邮件,但是如果我尝试隐藏该窗口,则它总是会失败。 我使用的代码如下:
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(url += strNewValue);
// execute the request
HttpWebResponse response = (HttpWebResponse)wr.GetResponse();
Stream resStream = response.GetResponseStream();
response.Close();
/*
WebBrowser web = new WebBrowser();
web.AllowNavigation = true;
web.Visible = false;
web.Navigate(url+strNewValue);
*/
/*
ProcessStartInfo startweb = new ProcessStartInfo(url + strNewValue);
startweb.RedirectStandardOutput = false;
startweb.WindowStyle = ProcessWindowStyle.Hidden;
startweb.UseShellExecute = true;
startweb.CreateNoWindow = true;
Process.Start(startweb);
*/
注释的代码显示了我为使这项工作努力的其他尝试。 这段代码似乎都可以在Windows 2007和Windows Server 2003上成功运行,但是我无法在必须的Windows 2008 Server上运行。
每当它到达应用程序中的代码这一部分时,该程序便开始不响应,最终恢复并说它已发送了通知。 但是,它此时在应用程序中冻结,并且永远不会发送电子邮件。 我已经检查了该URL,并且手动完成后它发送电子邮件没有任何问题。 我目前正在使用.NET 4.0客户端软件包,如果这可能引起任何问题。 我得到的唯一错误是httpwebresponse getresponse()的超时错误;
任何建议都将非常有帮助。 先感谢您
您是否可以改为从System.Net.Mail
命名空间(如SmtpClient
配置对象,然后直接自己发送电子邮件? 此解决方案在发送电子邮件时引入了看似不必要和复杂/易于失败的过程,这是通过编程进行的相当琐碎的任务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.