如何设置直接托管在 Xamarin Forms 上的 Web Api 端点?
How I set up an Web Api end point hosted directly on Xamarin Forms?
我想在我的 xamarin 表单应用程序上公开一个 http 服务器以在 phone 之外公开数据,这可能吗?例如,returns 在 phone 内记录文件的端点。谢谢
是的,这是可能的。我们正在使用 EmbedIO。
看看这个github repo.
您可以像(基本示例)那样创建网络服务器
var server = new WebServer(o => o
.WithMode(HttpListenerMode.EmbedIO))
.WithLocalSessionManager()
.WithWebApi("/api", m => m.WithController(() => new YourController()));
public class YourController : WebApiController
{
[Route(HttpVerbs.Get, "/test")]
public Task<string> Get()
{
return Task.FromResult("test");
}
}
当然你需要知道设备的 IP 地址。然后你可以设置它例如
_server = new WebServer(o => o
.WithUrlPrefixes($"http://yourIp:8088")
...
我想在我的 xamarin 表单应用程序上公开一个 http 服务器以在 phone 之外公开数据,这可能吗?例如,returns 在 phone 内记录文件的端点。谢谢
是的,这是可能的。我们正在使用 EmbedIO。 看看这个github repo.
您可以像(基本示例)那样创建网络服务器
var server = new WebServer(o => o
.WithMode(HttpListenerMode.EmbedIO))
.WithLocalSessionManager()
.WithWebApi("/api", m => m.WithController(() => new YourController()));
public class YourController : WebApiController
{
[Route(HttpVerbs.Get, "/test")]
public Task<string> Get()
{
return Task.FromResult("test");
}
}
当然你需要知道设备的 IP 地址。然后你可以设置它例如
_server = new WebServer(o => o
.WithUrlPrefixes($"http://yourIp:8088")
...