首页 > 解决方案 > 为什么我没有从我的网络请求中得到任何东西?我应该寻找什么?

问题描述

首先,我是 C# 的新手。我正在 Visual Studio 2019 中编写一个 WPF 程序。在我的项目中,我有多个 Web 请求,并且在测试它们的工作方式时,功能很少:只发出了 Web 请求,并且到目前为止它们工作正常。登录授权请求仍然有效。

这是我的网络请求。

using (var client = new WebClientEx())
{
    client.BaseAddress = serverurl.serviceurl;
    client.UseDefaultCredentials = true;

    string credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes(excelvertibas.username + ":" + excelvertibas.password));
    
    client.Headers[HttpRequestHeader.Authorization] = "Basic " + credentials;

    ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
    client.Timeout = 90000;
                    
    byte[] postArray = Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(domObjectVariables));
    client.Headers.Add("Content-Type", "application/json");//----------------
    client.Encoding = Encoding.UTF8;
    byte[] responseArray = client.UploadData(serverurl.serviceurl + "StartAddDigitalObject", "post", Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(domObjectVariables)));  //----------------------------
    domMetadataAddResponse = JsonConvert.DeserializeObject<StartAddDigitalObjectResponse>(Encoding.UTF8.GetString(responseArray));
}

基地址有效,我通过 Postman 手动测试。

我测试过的用户名和密码也是正确的。

Post 数组也传递了所需的信息,我在添加断点时检查了它。

我的问题是为什么这不再起作用了,我应该寻找什么?

仅供参考,这是应该将信息返回到响应数组的代码行,但由于某种原因它保持为空。

byte[] responseArray = client.UploadData(serverurl.serviceurl + "StartAddDigitalObject", "post", Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(domObjectVariables)));  

在此之后程序中断,因为当我尝试进一步传递它时响应数组不包含任何内容。

标签: c#

解决方案


好的,我明白是什么问题,当我收到服务器的响应时,是我没有为服务器提供必要的字段来响应任何东西。所以代码一切都很好。


推荐阅读