[英]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.