c# – Web API自托管客户端配置

前端之家收集整理的这篇文章主要介绍了c# – Web API自托管客户端配置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我设法在控制台应用程序中使用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地址.

解决方法

如果客户端位于同一LAN中,则可以按名称而不是IP地址请求主机.

要查找主机名,请在主机上打开命令提示符,然后键入:hostname

它将显示主机名,例如myhost.然后你可以请求它作为http:// myhost:8111或任何端口.

对于局域网以外的客户,您必须使用DNS.或者通过VPN连接,如果这是一个选项.

猜你在找的C#相关文章