Asp.net web api 在UWP项目中添加WEB API

Asp.net web api 在UWP项目中添加WEB API,asp.net-web-api,uwp,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/

我已经创建了一个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();
    }
}
无法将.NET4.5.2WebAPI项目放入UWP应用程序中。有关.NET和.NETCore之间的差异,请参见

在合并这两个项目之前,请仔细考虑您试图实现的目标。您显然希望API项目能够运行以测试UWP应用程序,但您未来的目标是什么

  • api应该在服务器(云/本地)上运行,应用程序应该连接到该服务器
对于这种情况,最好将两者分开。但是,您可以在解决方案中定义多个启动项目,这样就可以在不忘记启动API的情况下继续调试。右键单击解决方案=>设置启动项目(请参阅)

  • 数据库将始终与UWP应用程序位于同一台计算机上
除了应用程序之外,您还需要API吗?然后你可以设置一个或看看。或者,您可以从上面使用多启动项目方法


您仅使用API从UWP应用程序访问数据库,因为您“没有其他方法”?好消息是,自从秋季创建者更新(SDK 16299)以来,UWP支持.NET标准2.0。这将SqlClient引入UWP,因此您可以直接从UWP应用程序查询数据库。使用SqlClient有大量的sql server数据库和联机数据库。

非常感谢您提供的信息。我们可以在应用程序中创建本地sql server数据库吗?不是sqlite。sql server本身无法在应用程序中运行,但您可以连接到它(使用.netstandard 2.0)。我建议您观看链接的Ignite视频并阅读博客文章。这与从WebApi或Winforms/WPF应用程序访问SQL Server非常相似。