ncacn_http属性
ncacn_http キーワード (keyword)は、Microsoft インターネット インフォメーション サーバー (IIS) をエンドポイントのプロトコル ファミリとして識別します。
ncacn_http:rpc_server[endpoint]
-
rpc_server
-
RPC サーバー プロセスが実行されているコンピューターのインターネット アドレスまたは名前。
-
endpoint
-
RPC サーバー プロセスがリッスンしている既知の (静的) TCP/IP ポート。
Microsoft インターネット インフォメーション サーバー (IIS) をプロトコル ファミリとして識別すると、クライアント アプリケーションとサーバー アプリケーションは、Microsoft インターネット インフォメーション サーバー (IIS) をプロキシとして使用してインターネット経由で通信できます。 呼び出しは確立された HTTP ポートを介してトンネリングされるため、ファイアウォールを通過できます。
RPC クライアントおよびサーバー アプリケーションは、インターネット インフォメーション サーバーにネットワークされている限り、 ncacn_http プロトコルをサポートできます。 IIS は RPC サーバーに接続し、クライアント用に維持される TCP/IP ソケットを確立します。 IIS は RPC サーバーと TCP/IP 接続をネゴシエートし、ネゴシエーションが完了すると RPC プロキシとして機能し、クライアント側の TCP/IP ソケットとサーバー側の TCP/IP ソケットの間でデータを転送します。 IIS RPC プロキシは、クライアント側またはサーバー側でセッションクローズを検出すると、残りのソケットを閉じます。
クライアント アプリケーションは IIS への静的バインディングを暗黙的に使用しますが、サーバーは動的エンドポイントを使用でき、サーバーの RPCSS (エンドポイント マッパー) によって RPC サーバー ポートが解決されます。 IIS が RPC サーバーとは別のコンピューター上にある場合、IIS はリモート呼び出しを受信し、RPC サーバー コンピューター上の RPCSS に接続してサーバー プロセス エンドポイントを取得し、その呼び出しを適切な RPC サーバーに転送します。
インターネット エクスプローラーがインストールされている場合、トランスポートはレジストリをチェックして、HTTP プロキシの構成があるかどうかを確認します。 プロキシが存在する場合、トランスポートはそれを使用します。
//RPC client accesses an RPC server application, which is listening on //endpoint 2225 of an IIS Web Server named major7.microsoft.com
[
uuid(12345678-1234-1234-1234-123456789ABC),
version(1.0),
endpoint("ncacn_http:major7.microsoft.com[2225]")
]
interface iface
{
// Interface definition statements.
}
//string binding format.
//IIS Web server (websvr1)is on a different machine than the RPC
//server, and endpoints are dynamic
"obj_uuid@ncacn_http:major7.microsoft.com
[,]"
//tells the transport to use proxysvr, port 80, as the outgoing http
//server:
"obj_uuid@ncacn_http:major7.microsoft.com[,]"