繁体   English   中英

C#调用URL:超时

[英]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配置对象,然后直接自己发送电子邮件? 此解决方案在发送电子邮件时引入了看似不必要和复杂/易于失败的过程,这是通过编程进行的相当琐碎的任务。

SmtpClient MSDN文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM