- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我目前正在向 API 发送一个 json 字符串以接收包含各种值的对象。
这是我发布的 json 字符串:
{"SomeProperty":1,"DimensionOne":4,"DimensionTwo":6,"IdNumber":0}
现在 Json 字符串本身没有问题,因为我已经在 Fiddler 中测试了这个字符串到 api,它工作得很好,返回了我需要的所有值。
我正在做的事情和 Fiddler 正在做的事情之间的唯一区别是我从脚本转到发布到 API 的 WebService。
这是我用于 Web 服务的代码:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public ObjectType Relay(string json)
{
const string url = "https://api.com";
var client = new HttpClient {BaseAddress = new Uri(url)};
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = client.PostAsJsonAsync("api/v1/GetObject", json).Result;
if (response.IsSuccessStatusCode)
{
var objectRequest = Task.FromResult(response.Content.ReadAsStringAsync());
return JsonConvert.DeserializeObject<ObjectType>(objectRequest.Result.Result);
}
return null;
}
}
到目前为止它只返回了 null(显然是因为 response.IsSuccessStatusCode 不是 TRUE)
但是当我注释掉 if 括号并删除 return null 时,它会在我应该接收数据时给我一个空对象。所有的输入都是正确的。
我想知道我是否应该使用 PostAsJsonAsync 以外的方法,或者我是否应该对 json 字符串或 json header 执行任何其他操作。
同样,json 字符串的格式正确,因为它与 Fiddler 一起使用,并且之前在直接从网站转到 API(没有 WebService)时也能正常工作。
如果有任何建议,我将不胜感激。提前致谢。
最佳答案
您正在发送 https 请求。虽然客户端证书在协议(protocol)中是可选的,但您需要为您的 HttpClient 提供证书以防服务器需要它:Make Https call using HttpClient
关于c# - PostAsJsonAsync 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30125080/
我的代码是 public class BaseDTO { public int Id { get; set; } public string Code { get; set; }
我创建了一个公开 REST 端点的 Azure 逻辑应用程序。 当我通过 postman 调用时,以下 JSON 主体工作正常。 { "to": "ggtest@yahoo.com", "
您好,我想捕获 PostAsJsonAsync 可能抛出的异常。我在微软网站上找不到任何关于此方法可能引发的异常的异常信息。我想处理任何可能的异常。 最佳答案 我相信因为它是 HttpClient 的
我正在尝试使用 HttpClient 和 C#。我正在尝试发布到 PHP REST 服务器并使用其返回的 JSON。当我发布到返回“Hello World!”的终点时一切安好。但是当它返回时{ "ke
我正在尝试使用 PostAsJsonAsync 调用 API,但它没有像我预期的那样工作。 repo : 创建一个 ASP.NET WebAPI 项目(.NET Framework 4.7.2) 将V
我在使用 PostAsJsonAsync(..) 时遇到了一个简单但烦人的问题扩展方法,我在任何地方都找不到有关解决以下问题的信息。 我的问题是生成的 Json 使用 PascaCasing我需要 c
这是我得到的错误: One or more errors occurred. at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean
我目前正在学习如何使用 OWIN 和 Katana 创建 C# 服务器。 我正在尝试回复 POST,但不幸的是它没有找到该功能。 这就是我所拥有的: 这是一个用户端类,它通过 POST 发送用户数据(
我正在尝试使用 SSIS 包中的一个 WEB API。我想在一个服务器文件夹中发布一个 pdf 文件。我为此创建了一个脚本任务。 但是当我执行那个包时,它给了我一些随机的运行时错误。 byte[] c
我目前正在向 API 发送一个 json 字符串以接收包含各种值的对象。 这是我发布的 json 字符串: {"SomeProperty":1,"DimensionOne":4,"DimensionT
我们正在使用 HttpClient 将 json 发布到 restful web 服务。在一个例子中,我们遇到了一些让我们感到困惑的事情。使用 postman、fiddler 等工具,我们可以发布到端
我有一个带有 WebAPI Controller 的 ASP.NET MVC 应用程序,以及一个使用这些 Controller 的控制台应用程序。控制台应用程序从计划任务运行并从远程源获取数据、解析数
我有这行代码 var response = new HttpClient().PostAsJsonAsync(posturi, model).Result; Called WebAPI Control
我将一个对象发布到 WebApi 方法。我正在使用 PostAsJsonAsync 来执行此操作。 public async Task PostAsync(string token, ServiceC
我有一个 Web api Controller ,我使用了 HttpClient PostAsJsonAsync() 方法;我的对象(Employee)是从基类(Person)继承的,但是在将对象发布
我在将 Web API 与 MVC 结合使用时遇到了一些问题,不确定是什么原因造成的,但它在 Debug模式下不会抛出任何异常或错误,请有人帮助解决这个问题。 代码如下: MVC Controller
我目前正在像这样发布到我的网络 api: client.PostAsJsonAsync("api/controller/methodincontroller", listOfProductObject
在等待 API 发布完成时抛出 AggregateException 我该如何解决这个问题? 我的API调用类似这样 using (var httpClient = new HttpClient())
我正在尝试使用 PostAsJsonAsync 以与更新前 PostJsonAsync 相同的方式使用,但我收到此错误: CS1503 参数 3:无法从 'ICCR.Shared.LoginModel
我在这里以及在the Elastic discussion forum上都发现了类似的问题,但不幸的是,所有答案都无济于事。 我目前正在使用ElasticSearch 7.0。 我想向我的Elasti
我是一名优秀的程序员,十分优秀!