调用http服务电脑蓝屏

眼前人天上月 2020-01-02 10:46:48
调用http框架 .net framework 4.5.1 调用demo框架 .net framework 4.5.1 和 4.5.2 都试过 还是蓝屏

用soapUI 和posmain 工具测试 没有蓝屏情况,大佬们有没有遇到过这种情况 帮忙看一下下 谢谢您们啦

调用代码如下: 代码一:
//Logger.Net.Info($"[{Prefix}] [{name}] [{i}] 发送内容:{sendAsJson}");
byte[] byteArray = encoding.GetBytes(sendAsJson);
HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri($"{string.Format("http://10.1.13.103:11100/Pay/")}{req.service}"));
webReq.Method = "POST";
webReq.ContentType = "application/x-www-form-urlencoded;";
webReq.Timeout = 60 * 1000 * 2;
var watch = Stopwatch.StartNew();
webReq.ContentLength = byteArray.Length;
Stream newStream = webReq.GetRequestStream();
newStream.Write(byteArray, 0, byteArray.Length);
newStream.Close();
HttpWebResponse response = (HttpWebResponse)webReq.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream());
ret = sr.ReadToEnd();
sr.Close();
response.Close();
newStream.Close();
var time = watch.ElapsedMilliseconds;
//Logger.Net.Info($"[{Prefix}] [{name}] [{i}] 耗时:{time}毫秒 接收内容:{ret}");

var res = JsonConvert.DeserializeObject<TRes>(ret);
return res;




代码二 : using (var client = new HttpClient())
{
client.Timeout = new TimeSpan(0, 2, 0);
try
{
dictionQuery = req.GetParams();
var watch = Stopwatch.StartNew();
var kvcontent = string.Join("&", dictionQuery.Select(p => $"{p.Key}={HttpUtility.UrlEncode(p.Value)}"));
//Logger.Net.Info($"[{Prefix}] [{name}] [{i}] 发送组装内容:{kvcontent}");
HttpContent formContent= new FormUrlEncodedContent(dictionQuery);


Url = new Uri($"{string.Format("http://10.1.13.103:11100/Pay/")}{req.service}");
var task = client.PostAsync(Url, formContent);
var response = task.Result;
var text = response.Content.ReadAsStringAsync().Result;
watch.Stop();
var time = watch.ElapsedMilliseconds;
string logres = text;

//Logger.Net.Info($"[{Prefix}] [{name}] [{i}] 耗时:{time}毫秒 接收内容:{logres}");
if (response.StatusCode != HttpStatusCode.OK)
{
return new TRes
{
Code = -4,
Msg = $"{(int)response.StatusCode}:{response.StatusCode}"
};
}
if (string.IsNullOrWhiteSpace(text))
{
return new TRes
{
Code = -4,
Msg = $"接口[{name}]网关返回内容异常!null"
};
}
var res = JsonConvert.DeserializeObject<TRes>(text);
return res;
}
catch (AggregateException ex)
{
var exceptionDescription = PrintAggregateException(ex, out var mainException);
//Logger.Net.Error($"[{Prefix}] [{name}] [{i}] 异常内容:{exceptionDescription}");
return new TRes
{
Code = -4,
Msg = BuilNiceErrorMsg(mainException)
};
}
catch (Exception ex)
{
//Logger.Net.Error($"[{Prefix}] [{name}] [{i}] 异常内容:{ex.Message}\r\n{ex.StackTrace}");
return new TRes
{
Code = -2,
Msg = BuilNiceErrorMsg(ex.Message)
};
}
}



大佬们帮忙看一下下
...全文
110 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
眼前人天上月 2020-01-02
  • 打赏
  • 举报
回复
大佬们帮忙看下下 谢谢你们啦
眼前人天上月 2020-01-02
  • 打赏
  • 举报
回复
别沉,大佬们求解答
正怒月神 2020-01-02
  • 打赏
  • 举报
回复
我总觉得,蓝屏和http没什么关系。 应该还是和泄漏内存之类的有关系。 你试试,只是最简单的helloworld 接口,调用看看有没有问题。
wanghui0380 2020-01-02
  • 打赏
  • 举报
回复
看不出问题。建议做减法。 我们不认为,是什么http问题。我们认为是其他的地方的问题 所以我的建议是做减法,单独写个控制台,这个控制台啥都不写,就只纯粹做http部分,如果这个控制台还报错在来问 如果控制台不报错,检查你那些多余的部分和跟你程序的其他交互部分

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧