我想知道如何使用来自另一个ASP的WEBAPI.Net Web API将响应存储在数据库中.

但要求是通过我的WEBAPI&将结果存储在数据库中,以便客户使用我的WEBAPI向我请求数据.

有没有可能用Asp实现这一点.NETWebAPI?

推荐答案

在本教程中,我们将解释如何使用C#来使用web api,在本例中,使用了一个控制台应用程序,但您当然也可以使用另一个web api来使用.

http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-client

你应该看看HttpClient美元

HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost/yourwebapi");

请确保您的请求使用如下Accept头请求JSON响应:

client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));

现在是与本教程不同的部分,请确保您拥有与其他WEB API个相同的对象,如果没有,则必须将这些对象映射到您自己的对象.ASP.NET将把你收到的JSON转换成你想要的对象.

HttpResponseMessage response = client.GetAsync("api/yourcustomobjects").Result;
if (response.IsSuccessStatusCode)
{
    var yourcustomobjects = response.Content.ReadAsAsync<IEnumerable<YourCustomObject>>().Result;
    foreach (var x in yourcustomobjects)
    {
        //Call your store method and pass in your own object
        SaveCustomObjectToDB(x);
    }
}
else
{
    //Something has gone wrong, handle it here
}

请注意,我在这个例子中使用了.Result.你应该考虑在这里使用async await模式.

Asp.net相关问答推荐

DataTables-如何修改来自JSON响应或其他DataTables参数的无结果(ZeroRecords)消息

Razor 页面客户端站点验证不起作用

在这个 For 循环计数没有增加

在每个对象上设置 ClientIDMode = Static 是否有任何缺点(在母版页的 maincontent 上设置)

IIS HTTP 错误 500.19

如何从 dll 文件中提取类的源代码?

ASP.NET web api 无法获取 application/x-www-form-urlencoded HTTP POST

为什么 ASP.NET Identity 2.0 使用 GUID/字符串作为用户 ID?

无法让嵌套在 UpdatePanel 中的 WebControl 中的 ScriptManager.RegisterStartupScript 工作

RestSharp 不反序列化 JSON 对象列表,始终为 Null

使用 Visual Studio 2012 恢复删除的文件

您使用哪个 .NET Memcached 客户端,EnyimMemcached 与 BeITMemcached?

为 ASP.NET Core MVC 显示 404 Not Found 页面

如何使用 ASP.NET 和 jQuery 返回 JSON

会员生成密码 仅限字母数字密码?

如何response.write bytearray?

盒式磁带包与 MVC4 包

服务器标签格式不正确错误

在 ASP.NET Web API 2 中禁用 *all* 异常处理(为我自己腾出空间)?

您的下一个 ASP.NET 项目的 Select 是什么:Web 窗体还是 MVC?