WebExcpetion usind WebRequest.BeginGetResponse
本文关键字:BeginGetResponse WebRequest usind WebExcpetion | 更新日期: 2023-09-27 18:02:23
我有一个困扰我很久的问题。
我正在使用Windows Phone 8和c#。
当我从网上下载文件时,有时会遇到这个异常:
A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.ni.dll
A first chance exception of type 'System.Net.WebException' occurred in System.Windows.ni.dll
A first chance exception of type 'System.Net.WebException' occurred in System.Windows.ni.dll
ExceptionMessage:The remote server returned an error: NotFound.
但是我再次运行程序,它工作得很好。我不知道为什么有时候找不到远程服务器,真的是服务器有问题吗?它认为它在我的代码中,我使用这些函数:
WebRequest request = WebRequest.Create("http...);
IAsyncResult res = request.BeginGetResponse(new AsyncCallback(DownloadComplete), null);
我将非常感谢任何建议,因为这个异常一直弹出,我无法解决它
它没有说找不到远程服务器,而是说服务器拒绝了请求的文件,因为它当时在远程服务器上不存在。很难知道您的确切情况,但撇开网络问题不谈,它可能像文件不存在一样简单,在那个时间点。
这个文件多久更新一次,如果有的话?请考虑这样一种可能性:当您请求该文件时,它已被删除,并将暂时被重写。
网络本身并不可靠,只是看起来可靠;在这方面有许多技术,但我要说的是,在您的情况下,在一段时间后失败时,使用再次尝试的"恢复"逻辑可能会更糟糕。
当我忘记手机在模拟器中运行并将web引用更改为localhost时,我得到了这个。Localhost将在手机上被解释,显然web服务并没有在手机上运行。如果您正在进行本地调试,请确保使用您机器的IP地址,而不是localhost或127.0.0.1。