我设法在控制台应用程序中使用OWIN运行我自己托管的WEP API,方法是使用如下代码:
//string baseAddress = "http://192.168.1.6:8111/"; string baseAddress = "http://+:8111/"; // Start OWIN host using (Microsoft.Owin.Hosting.WebApp.Start<Startup>(url: baseAddress)) { Console.ReadLine(); }
通过在服务主机上使用和注册类似“http://+:9000/”的地址,我们的想法是使用主机的通用IP地址,当主机的IP可能发生变化时,该地址不会影响客户端.
客户端位于运行服务的其他计算机上.类似于局域网中的移动电话或来自局域网的其他笔记本电脑,以及将来如果可能的话,也可以在局域网之外.
在我的自托管服务的客户端,这是一个html页面,我有一个JavaScript代码,如:
//var uri = 'http://192.168.1.6:8111/api/tests'; var uri = 'http://+:8111/api/tests'; function Read() { $.getJSON(uri + '/' + id) }
通过在客户端中使用主机的静态注释IP地址,我可以访问自托管的WEB API,但是当我尝试使用通用的“http://+:9000/api/tests”时,它无法连接到服务.
有没有办法通过使用这样的通用配置从客户端连接到服务?
或者我应该如何配置服务主机和客户端,以便主机上的IP更改不会停止客户端计算机上的服务?
我需要考虑到我的自托管计算机的IP地址可能会更改,客户端将丢失连接,因为他们将使用服务主机的旧的过时IP地址.