Motorola 3190 ハンドヘルド デバイスで実行されているコンパクト フレームワーク/Windows CE アプリは、Web API アプリで RESTful メソッドを呼び出す必要があります。
ハンドヘルド デバイスはホスト マシンに接続されており、その IP アドレスは次の方法で推定できます。
IPAddress IPAddr = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0];
しかし、これを使用して Web API アプリが実行されているサーバーを呼び出そうとすると、すべてのダラスが壊れてしまいます。
だから私は考えています:ハンドヘルドデバイスをそのIPアドレスを使用してホストマシンに接続し、そこからサーバーマシン用の別のIPアドレスを取得する必要がありますか(「実生活」では同じマシンではありませんが、同じです開発時のマシン)。
IOW、次のようなものが必要ですか:
string uri = string.Format("http://{0}:{1}:28642/Bla/Bla?Bla=Blee&Bloo=Gloo", ActiveSyncHostIPAddress, WebAPIServerAddress);
?
それが「合法」(IPAddress1:IPAddress2)であるかどうか、またはそうでない場合、これがどのように機能する必要があるかはわかりません。
IOW、ハンドヘルド デバイスは、通信するためにホスト (通常は顧客のサイトにあります) に接続する必要があります。ただし、そのホストは、RESTful (Web API) メソッドを公開するアプリを含むサーバーと通信する必要があります。
設計時には、プレイヤーは 2 人だけです。
ハンドヘルド デバイス => 開発マシン (ハンドヘルド デバイスのホストであり、サーバー/Web API アプリを実行している)
...しかし、フィールドには 3 人のプレーヤーがいます。
ハンドヘルド デバイス => オンプレミスのホスト => Web API アプリを実行するサーバー
「ホスト オン プレミス」が「Web API アプリを実行しているサーバー」の知識を持たずに、これをどのように達成しますか?
または、これは間違っていると思いますか?ハンドヘルド デバイスから Web API サーバーに直接接続する必要があるだけですか? もしそうなら、どうすればそれを行うことができますか? IOW、ハンドヘルド デバイス/コンパクト フレームワーク アプリはホストをバイパスして、最終目的地に直行できますか?