我创建了一个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();
}
}
答案 0 :(得分:3)
没有办法将.NET 4.5.2 Web API项目放在UWP应用程序中。有关.NET和.NETCore之间的区别,请参阅this reply。
在合并两个项目之前,请三思而后行。您显然希望API项目能够运行以测试您的UWP应用程序,但您未来的目标是什么?
对于这种情况,最好将两者分开。但是,您可以在解决方案中定义多个启动项目,这样您就可以继续调试而不必忘记启动API。右键单击solution => 设置启动项目(请参阅https://msdn.microsoft.com/en-us/library/ms165413.aspx)。
除了应用程序之外,您还需要其他API吗?然后,您可以设置local IIS或查看self-hosted api。或者您可以使用上面的多启动项目方法。
您只能使用API从您的UWP应用访问数据库,因为您没有其他方式"?好消息,自Fall Creators Update(SDK 16299)以来,UWP支持.NET Standard 2.0。这将SqlClient带到UWP,因此您可以直接从UWP应用程序查询数据库。在线使用SqlClient有很多samples和videos。