【问题标题】:Add WEB API within a UWP project在 UWP 项目中添加 WEB API
【发布时间】:2017-10-23 15:30:41
【问题描述】:

我创建了一个 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();
    }
}

【问题讨论】:

    标签: asp.net-web-api uwp


    【解决方案1】:

    无法将 .NET 4.5.2 Web API 项目放入 UWP 应用中。 .NET 和 .NETCore 的区别见this reply

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

    • api 应该在服务器(云/本地)上运行,并且应用程序应该连接到它。

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

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

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

    您只使用 API 从您的 UWP 应用程序访问数据库,因为您“没有其他方法”?好消息,自秋季创作者更新 (SDK 16299) 以来,UWP 支持 .NET Standard 2.0。这会将 SqlClient 带到 UWP,因此您可以直接从您的 UWP 应用程序查询您的数据库。网上有很多samplesvideos可以使用SqlClient。

    【讨论】:

    • 非常感谢您提供的信息。我们可以在应用程序内创建本地 sql server db 吗?不是 sqlite。
    • SQL Server 本身无法在应用程序中运行,但您可以连接到它(使用 .netstandard 2.0)。我建议您观看链接的 Ignite 视频并阅读博客文章。这与从 WebApi 或 Winforms/WPF 应用程序访问 SQL Server 非常相似。
    猜你喜欢
    • 2018-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多