_clientRequest = new CustomHttpClient(parameters.AppInstanceID, Cockpit4DIAConnection);
HttpContent requestParameter = new ObjectContent<ViewParameters>(parameters, new JsonMediaTypeFormatter());
HttpResponseMessage response = await _clientRequest.PostAsync(_Url + _PartialQueryResultAsString, requestParameter);
return JsonConvert.DeserializeObject<QueryWrapper>(response.Content.ReadAsStringAsync().Result);此部分查询结果方法在将数据从api传输到此控制器时具有数据,响应在.net核心3.1中作为内部服务器错误500出现。
我正在迁移应用程序。它在asp.net框架中工作得很好。
我有几种使用postasync的方法。他们工作得很好。
响应类型有什么问题吗?
发布于 2021-06-18 21:39:53
内部服务器错误是服务器内部的错误。这不是客户端的错误。
然而,也有可能是服务器处理得不好,你给它提供了不正确的信息,因此返回了500,而不是关于你到底做错了什么的更详细的解释。
例如,假设我向服务器发送一个ID,以获取服务器的数据库中不存在的资源。这应该会产生一个4xx状态响应(因为这是一个客户端错误,而不是服务器错误),但是如果服务器没有正确检查null,它将遇到一个NullReferenceException,当没有处理时,它会冒泡到端点,并被转换为一个500内部服务器错误。
最终的解决方案不是不可能来自您的客户端,更改它发送到服务器的内容,但这只有在您调试服务器(或简单地读取其日志)以找出内部服务器错误的原因之后才能得到确认。
https://stackoverflow.com/questions/68029992
复制相似问题