簡體   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