在UWP项目中添加WEB API

时间:2017-10-23 06:46:11

标签: asp.net-web-api uwp

我创建了一个web api(4.5.2)来使用ado.net模型和控制器访问sql server表的详细信息。然后创建了一个uwp空白项目来访问该api。这是工作。但我怀疑的是,如何在uwp项目中实现该web api项目?我可以将其添加为参考。

现在我只能在API项目运行时连接到web api。

using (var client = new HttpClient())
{ 
    client.BaseAddress = new Uri("http://localhost:xxxxx/");
    client.DefaultRequestHeaders.Accept.Clear();
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    HttpResponseMessage response = await client.GetAsync("Api/GetNames");

    if (response.IsSuccessStatusCode)
    {
        var namelist = response.Content.ReadAsStringAsync();
    }
}

1 个答案:

答案 0 :(得分:3)

没有办法将.NET 4.5.2 Web API项目放在UWP应用程序中。有关.NET和.NETCore之间的区别,请参阅this reply

在合并两个项目之前,请三思而后行。您显然希望API项目能够运行以测试您的UWP应用程序,但您未来的目标是什么?

  • api应该在服务器上运行(云端/内部部署),应用程序应该连接到它。

对于这种情况,最好将两者分开。但是,您可以在解决方案中定义多个启动项目,这样您就可以继续调试而不必忘记启动API。右键单击solution => 设置启动项目(请参阅https://msdn.microsoft.com/en-us/library/ms165413.aspx)。

  • 数据库将始终与UWP应用程序位于同一台计算机上。

除了应用程序之外,您还需要其他API吗?然后,您可以设置local IIS或查看self-hosted api。或者您可以使用上面的多启动项目方法。

您只能使用API​​从您的UWP应用访问数据库,因为您没有其他方式"?好消息,自Fall Creators Update(SDK 16299)以来,UWP支持.NET Standard 2.0。这将SqlClient带到UWP,因此您可以直接从UWP应用程序查询数据库。在线使用SqlClient有很多samplesvideos