zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C# post数据时 出现如下错误: System.Net.WebException: 操作超时

c#Net错误数据 操作 出现 system post
2023-09-27 14:28:17 时间
net(客户端)调用IIS(服务端)出现503后,就报操作超时错误

问题描述:
服务端环境:
IIS

客户端环境:
windowsxp + iis + .net


调用时出现如下错误:
System.Net.WebException: 远程服务器返回错误: (503) 服务器不可用。
在 System.Net.HttpWebRequest.GetResponse()
在 TestWebRequest.WebMessage.SendRequest(Byte[] data, String urlStr)

接着就出现如下错误:

System.Net.WebException: 操作超时
在 System.Net.HttpWebRequest.GetRequestStream()

最后一直是这个错误

System.Net.WebException: 操作超时
在 System.Net.HttpWebRequest.GetRequestStream()

当服务器恢复正常时,访问已经是200时,这个线程还是返回操作超时,经过N多测试,最后如下一行完美解决:

myRequest.ServicePoint.Expect100Continue = false;


public byte[] SendRequest(byte[] data, string urlStr)
2{
3try
4{
5 Stream streamSend = null;
6 HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(urlStr);
7 myRequest.Method = "POST";
8 myRequest.ContentType = "text/xml";
9 myRequest.Accept = "*/*";
10 myRequest.Timeout = 2000;
11 myRequest.UserAgent = "Mozilla-Firefox-Spider(Wenanry)";
12 myRequest.ContentLength = data.Length;
13//这个在Post的时候,一定要加上,如果服务器返回错误,他还会继续再去请求,不会使用之前的错误数据,做返回数据
14 myRequest.ServicePoint.Expect100Continue = false;
15
16 HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
17 myRequest.CachePolicy = noCachePolicy;
18
19try
20{
21 streamSend = myRequest.GetRequestStream();
22 streamSend.Write(data, 0, data.Length);
23 streamSend.Close();
24 }
25catch (WebException wex)
26{
27 log.Debug("WebException=" + wex.ToString() + ",wex.Status=" + wex.Status);
28if (streamSend != null)
29 streamSend.Close();
30 streamSend = null;
31 myRequest = null;
32return null;
33 }
34catch (Exception ex)
35{
36 log.Debug("GetRequestStream=" + ex.ToString());
37if (streamSend != null)
38 streamSend.Close();
39 myRequest = null;
40return null;
41 }
42
43byte[] byteArr = new byte[256];
44 Stream streamRequest = null;
45try
46{
47 streamRequest = myRequest.GetResponse().GetResponseStream();
48 }
49catch (Exception httpex)
50{
51 log.Debug("SendRequest=" + httpex.ToString());
52if (streamRequest != null)
53 streamRequest.Close();
54 myRequest = null;
55return null;
56 }
57 Bytes bytes = new Bytes();
58int count = streamRequest.Read(byteArr, 0, 256);
59while (count 0)
60{
61 bytes.writeByteArr(Bytes.byteSub(byteArr, 0, count));
62 count = streamRequest.Read(byteArr, 0, 256);
63 }
64 streamRequest.Close();
65return bytes.getByte;
66 }
67catch (Exception eee)
68{
69 log.Debug("eee=" + eee.ToString() + eee.Source + eee.StackTrace);
70 }
71return null;
72 }


C# post数据时 出现如下错误: System.Net.WebException: 操作超时 net(客户端)调用IIS(服务端)出现503后,就报操作超时错误 问题描述: 服务端环境: 客户端环境: windowsxp + iis + .net
远程服务器返回错误: (500) 内部服务器错误解决办法 在.net中发送 xml post请求和接受xml 的post请求时,经常会遇到“远程服务器返回错误: (500) 内部服务器错误”。
基于 .NET Core 2.2 的 Console 控制台实现简单 HTTP 请求的【CRUD】操作 Demo 说明:该项目是基于 .NET Core 2.2 的 Console 控制台实现简单的 http 模拟请求,对应http谓词实现的CRUD的封装操作;本项目依赖的 NuGet 包:Microsoft.AspNetCore.Http.Abstractions;Newtonsoft.Json;RestSharp; Project Sdk= Microsoft.NET.Sdk ...
文件上传时提示NET:ERR_CONNECTION_RESET 最近闲暇之余写了一个半自动化的项目部署的项目,因为发现之前使用的jenkins太消耗服务器资源了,由于现在又不想升级服务器,就自己写一个半自动化的。其实就是一些java执行我在服务器上面写好的.sh的脚本即可,或者执行一些linux命令
//需要先下载Newtonsoft.Json组件 JSON(全称为JavaScript Object Notation) 是一种轻量级的数据交换格式。它是基于JavaScript语法标准的一个子集。
服务端有异常, 导致: Ajax 请求报错 net::ERR_INCOMPLETE_CHUNKED_ENCODING 但是,这个 Ajax Http 接口使用浏览器可以直接返回。