[英]WebRequest.GetResponse is not returning anything
我對此感到困惑,我正在調用一個簡單的報表服務器URL,該URL返回報表的PDF,但是奇怪的是WebRequest.GetResponse
方法沒有返回任何內容,當我這樣說時,我的意思是代碼只是在那一點上停止執行,也不例外,沒有錯誤,沒有狀態碼,沒有事件查看器登錄服務器,什么都沒有! 所以我無法調試它
這是我的代碼
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.PreAuthenticate = true;
req.UseDefaultCredentials = true;
req.Credentials = CredentialCache.DefaultNetworkCredentials;
req.ImpersonationLevel = TokenImpersonationLevel.Impersonation;
req.Timeout = int.MaxValue;
Log.Write("Log before");
var response = req.GetResponse();
Log.Write("Log after");
它只在Log before
打印日志,然后Log before
日志之后不打印任何內容。
當我在Visual Studio中運行時,此代碼運行良好,而在開發和測試服務器中部署時,則停止工作!
我只是希望它能夠解決異常,或者返回未經授權的代碼或任何其他狀態代碼,那么我將能夠調試問題。
有什么建議可以嘗試調試嗎?
您是否嘗試過將其放置24天20小時31分24秒? 換句話說,您是否已將超時時間設置為已設置的時間?
服務器未返回響應,代碼正在等待int.MaxValue毫秒告訴您。 造成這種情況的最可能原因是,客戶端和服務器之間有一部分網絡基礎結構正在停止請求。 這可能是防火牆或代理。 這也可能是由於服務器不喜歡該請求並拒絕響應所致。
我會嘗試的事情:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.