Tag: webexception

在C#中处理HttpPostedFile

我有一个C#.net Web应用程序,可以(通过POST方法)文件发送到另一个应用程序。 在第二个应用程序中,我有以下代码来检索已发布的文件。 HttpPostedFile hpf = Request.Files[0]; 现在我可以通过代码保存文件了 hpf.SaveAs(“The path to be saved”); 但我需要将它再次发送到另一个应用程序而不保存在这里 (没有保存在第二个appln我需要将它发送到第三个应用程序)。 (现在我可以做的是将文件保存在第二个应用程序中,然后通过提供与我在第一个应用程序中完全相同的路径将其发布到第三个应用程序。但我需要另一个解决方案。) 我尝试了hpf.fileName但它只给出了文件名(例如:test.txt)。 当我尝试下面的时候 string file = hpf.FileName; string url = “the url to send file”; using (var client = new WebClient()) { byte[] result = client.UploadFile(url, file); string responseAsString = Encoding.Default.GetString(result); } 发生WebException,如“WebClient请求期间发生exception”。 在C#.net中有没有办法做到这一点?

底层连接已关闭:接收时发生意外错误

我在这里是因为我在通过ftp协议下载一些文件时遇到了问题。 这很奇怪,因为它偶尔发生,甚至对于同一个文件也是如此。 只是一个精度:我正在下载非常大的文件(从500 Mo到30Go) 以下是我的函数返回的exception类型:(抱歉,这是法语) System.Net.WebException: La connexion sous-jacente a été fermée : Une erreur inattendue s’est produite lors de la réception. à System.Net.FtpWebRequest.CheckError() à System.Net.FtpWebRequest.SyncRequestCallback(Object obj) à System.IO.Stream.Close() à System.Net.ConnectionPool.Destroy(PooledStream pooledStream) à System.Net.ConnectionPool.PutConnection(PooledStream pooledStream, Object owningObject, Int32 creationTimeout, Boolean canReuse) à System.Net.FtpWebRequest.FinishRequestStage(RequestStage stage) à System.Net.FtpWebRequest.SyncRequestCallback(Object obj) à System.Net.CommandStream.Abort(Exception e) à System.Net.CommandStream.CheckContinuePipeline() à System.Net.FtpDataStream.System.Net.ICloseEx.CloseEx(CloseExState closeState) […]

在WebException错误中获取错误号

如何在WebException错误中获取错误号? try { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(“site”); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream stream = response.GetResponseStream(); int i = stream.ReadByte(); } catch (WebException e) { //How To Get Error number in WebException Error? }

正确处理两个WebException

我正在尝试正确处理两个不同的WebException 。 基本上他们在调用WebClient.DownloadFile(string address, string fileName) 到目前为止,AFAIK有两个我要处理的,都是WebException的: 无法解析远程名称(即没有网络连接访问服务器下载文件) (404)文件不正确(即服务器上不存在该文件) 可能会有更多,但这是我迄今为止最重要的。 那么我应该如何正确处理它,因为它们都是WebException ,但我想以不同的方式处理上面的每个案例。 这是我到目前为止: try { using (var client = new WebClient()) { client.DownloadFile(“…”); } } catch(InvalidOperationException ioEx) { if (ioEx is WebException) { if (ioEx.Message.Contains(“404”) { //handle 404 } if (ioEx.Message.Contains(“remote name could not”) { //handle file doesn’t exist } } } 正如您所看到的,我正在检查消息以查看它是什么类型的WebException。 我会假设有更好或更精确的方法来做到这一点? 谢谢