如何在 Xamarin 和 Windows 电话中创建 RESTful 网络服务?

How to create a RESTful webservice in Xamarin and Windows Phone?

我目前正在尝试寻找一种解决方案,以解决如何使用 Xamarin 为 Android 和 Windows [=9= 创建(而不是使用!!!)RESTful 服务].我已经搜索过了,但只找到了关于如何在这些平台上使用 RESTful 网络服务的库和解决方案。 您是否知道在这些平台上创建 Web 服务的好库或关于如何实现简单 Web 服务(不使用 ASP.NET)的任何提示?

TIA Octo

Xamarin.NET 和 WinRT 框架(及其包生态系统)从客户端的角度来看对 Web 服务等提供了相当全面的支持,但如果您想充当主机,则没有那么多。您不能将 webapi 或 signalr host 之类的东西安装到 PCL 中,甚至不能安装到本机平台项目中。

根据您的澄清意见,我建议采用以下两种方法之一。我假设 RESTful 的要求更像是 "nice to have",而 "calling methods with parameters and getting results" 是优先级。

1.使移动应用程序也成为客户端 - 通过在另一台具有完整 .NET 配置文件的服务器上添加一个集线器来消除移动设备的托管要求。您的移动应用程序和 "test runner" 都连接到此,并且集线器在它们之间路由消息。 SignalR 可以轻松处理这个问题。此选项根本 RESTful 并需要一个额外的服务器,但可以快速启动 运行 并将轻松支持您来回传递 json 消息的愿望。

2。 Go lower level - 使用套接字促进移动设备与 "test runner" 之间的直接通信。移动设备可以打开套接字进行监听,并且您的 "test runner" 直接连接到它们。同样,不是 RESTful 并且涉及更多 - 您需要定义一个(希望如此)简单的协议(例如 {length of type name}{type name}{length of payload}{payload})并使用它来发送发送和接收 json - 但它避免了需要中间机器进行路由。