c# - Web API 和 .NET 标准
问题描述
上下文:
我目前正在申请包括许多基于 .NET Standard(用于 Xamarin)的子项目。
此应用程序需要运行 Kestrel Web 服务器以公开 API(应用程序必须可从外部调用以接收更新的数据)。
因此,我创建了一个 ASP.NET Core 项目,允许轻松制作 WebApi 并运行服务器 (Kestrel)。问题,这是一个 .NET Core 项目,它与 Xamarin 不兼容。
目标:
- 应用程序必须可从外部调用(公开 API)
- 应用程序必须使用 .NET 标准项目(与 Xamarin 兼容)
- 该应用程序必须在桌面和移动设备上运行
问题:
- WebAPI 是否会包含在 .NET Standard 的未来版本中?
- 在移动应用程序中公开 API(以及运行服务器)似乎很复杂(顺便说一句,这不是一个好的做法)?
- 还有其他方法可以完成这项工作吗?
解决方案
目标:
• 应用程序必须可从外部调用(公开 API)
获取一个充当中间人的 Web 服务器并传递它从外部获得的请求,那么它应该是可行的
•应用程序必须使用 .NET 标准项目(与 Xamarin 兼容)
Web API 在服务器上运行,Xamarin 在移动/桌面上运行,Xamarin 不必担心服务器使用什么技术堆栈,只要它符合双方都同意的协议 (http)
•应用程序必须在桌面和移动设备上运行
没什么大不了
问题:
• WebAPI 是否会包含在 .NET Standard 的未来版本中?
肯定是的。
•在移动应用程序中公开API(因此,运行服务器)是否看起来很复杂(顺便说一句,这不是一个好习惯)?
完全错误的方法。只要手机决定休眠一段时间,您的应用程序就会失去互联网连接,而且手机并非旨在用作服务器。
•还有其他方法可以完成这项工作吗?
获取一个真正的云服务器并在那里运行您的 API。
推荐阅读
- python - 如何防止 Django 1.11 为非托管模型创建迁移?
- c# - JsonConvert.DeserializeObject
(json数据);强制日期时间到字符串列 - r - 在两个值之间展开组并计算唯一出现次数
- android - 以编程方式将包设置为设备所有者
- javascript - 如何告诉路由器跳过Angular中的上一个网址
- mithril.js - 在第一个动作时停止 mithrill 重绘
- javascript - 隐藏每个父母除第一个孩子以外的所有孩子
- ruby-on-rails - Webpacker 混乱
- css - 在多个表格中持续交替颜色
- javascript - 如何使最后一列全宽