Networking 通过Windows CE设备连接时,是否有必要/可能连接主机和服务器IP地址?

Networking 通过Windows CE设备连接时,是否有必要/可能连接主机和服务器IP地址?,networking,asp.net-web-api,httpurlconnection,activesync,transitive-dependency,Networking,Asp.net Web Api,Httpurlconnection,Activesync,Transitive Dependency,我的Compact Framework/Windows CE应用程序运行在摩托罗拉3190手持设备上,需要在Web API应用程序中调用RESTful方法 手持设备连接到主机,其IP地址显然可以通过以下方式推断: IPAddress IPAddr = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0]; 但是如果我尝试使用它调用运行Web API应用程序的服务器 所以我在想:我是否需要手持设备使用它的IP地址连接到它的主机,然后从那里为服务器机

我的Compact Framework/Windows CE应用程序运行在摩托罗拉3190手持设备上,需要在Web API应用程序中调用RESTful方法

手持设备连接到主机,其IP地址显然可以通过以下方式推断:

IPAddress IPAddr = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0];
但是如果我尝试使用它调用运行Web API应用程序的服务器

所以我在想:我是否需要手持设备使用它的IP地址连接到它的主机,然后从那里为服务器机器提供另一个IP地址(在“现实生活”中不是同一台机器,但在开发时是同一台机器)

瞧,我需要像这样的东西吗:

string uri = string.Format("http://{0}:{1}:28642/Bla/Bla?Bla=Blee&Bloo=Gloo", ActiveSyncHostIPAddress, WebAPIServerAddress);
?

我不知道这是否是“合法的”(ipaddress 1:ipaddress 2),或者,如果不是,这需要如何工作

照此,手持设备需要连接到其主机(通常位于客户的站点)才能与其通信。但是,该主机需要与服务器通信,该服务器包含公开RESTful(WebAPI)方法的应用程序

在设计时,只有两个玩家:

手持设备=>Dev Machine(这是手持设备的主机,正在运行服务器/Web API应用程序)

……但在球场上,有三名球员:

手持设备=>本地主机=>运行Web API应用程序的服务器

如果“本地主机”不了解“运行Web API应用程序的服务器”,这是如何实现的


,我是否认为这是错误的,我只需要直接从手持设备连接到Web API服务器?如果是,我该怎么做?那么,手持设备/Compact Framework应用程序能否绕过主机直接到达最终目的地?

“IP1:IP2:port”不是合法的URL语法。这对你没有任何帮助。如果可以通过移动设备访问服务器(即,不使用防火墙),则应直接访问服务器。如果“本地主机”是唯一允许与服务器对话的东西,那么您需要以某种方式通过它代理调用-例如使用实际的HTTP代理服务器,或者通过制作包装器web服务将请求转发到服务器。另一方面,您不应该在没有很好理由的情况下手动执行DNS解析。只需在URL中使用主机名即可。谢谢,博士;这里有一个相关的问题:正如您在这里看到的:使用原始IP地址对我来说也失败了(我得到了一个空引用异常;我在服务器方法的开始处有一个断点,所以它必须发生在客户端上)。根据这篇文章:Andy Wiggly(编写“MS.NET Compact Framework”的猫/家伙),您确实使用了“ppp\U对等”:HttpWebRequest request=REST.CreateRequest(@“”,HttpMethods.GET,String.Empty,@“应用程序/atom+xml”,“”,“”,“”);