首先,我是 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));
}
基地址有效,我通过邮递员手动测试了它。
我测试过的用户名和密码也是正确的。
Post 数组也在传递所需的信息,我在添加断点的同时检查了它。
我的问题是为什么这不能再工作了,我应该寻找什么?
仅供参考,这是应该将信息返回到响应数组的代码行,但由于某种原因它保持为空。
byte[] responseArray = client.UploadData(serverurl.serviceurl + "StartAddDigitalObject", "post", Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(domObjectVariables)));
在此之后程序中断,因为当我尝试进一步传递它时,响应数组不包含任何内容。
好的,我明白问题出在哪里,当我得到服务器的响应时,是我没有为服务器提供必要的字段来响应任何东西。所以代码一切正常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句