我想知道如何使用来自另一个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相关问答推荐

设置主键时KeyAttribute属性不起作用

ASP.NET 核心中的 Request.CreateResponse

如何在 C# 代码中获取当前项目名称?

为什么微软决定支持 jQuery 如此重要?

判断 asp.net mvc 4 应用程序中的 ssl 协议、密码和其他属性

如何异步渲染局部视图

HttpResponse 的区别:SetCookie、AppendCookie、Cookies.Add

asp.net:与其中的用户控件相比,控件/页面的页面生命周期顺序是什么?

模型项的类型为 CookMeIndexViewModel,但需要类型为 IEnumerable 的模型项

如何在集线器类之外获取 SignalR 用户连接 ID?

新的 ASP.NET MVC 5 应用程序如何知道如何创建数据库以及帐户控制器如何访问数据库?

如何在asp.net mvc的html.actionlink中调用javascript函数?

ASP.NET 日期时间 Select 器

从命令行复制 VS2008发布网站

使用 ASP.NET Web API 对 PUT 和 DELETE 的 CORS 支持

如何在 ASP.NET 中获取原始请求正文?

如何从 ASP.NET 中的数据表/数据视图中 Select 前 n 行

ASP.NET 发布try 复制不存在的文件

连接字符串正确时出现实例失败错误

ConfigurationManager.AppSettings 缓存