ncacn_http 属性
ncacn_http关键字 (keyword) 将 Microsoft Internet Information Server (IIS) 标识为终结点的协议系列。
ncacn_http:rpc_server[endpoint]
-
rpc_server
-
运行 RPC 服务器进程的计算机的 Internet 地址或名称。
-
endpoint
-
已知 (RPC 服务器进程侦听的静态) TCP/IP 端口。
通过将 Microsoft Internet Information Server (IIS) 标识为协议系列,客户端和服务器应用程序可以使用 Microsoft Internet Information Server (IIS) 作为代理通过 Internet 进行通信。 由于调用通过已建立的 HTTP 端口进行隧道传输,因此它们可能跨越防火墙。
任何 RPC 客户端和服务器应用程序都可以支持 ncacn_http 协议,只要它们联网到 Internet 信息服务器即可。 IIS 与 RPC 服务器联系,并建立一个 TCP/IP 套接字,它为客户端维护该套接字。 IIS 与 RPC 服务器协商 TCP/IP 连接,协商完成后,充当 RPC 代理,在客户端 TCP/IP 套接字和服务器端 TCP/IP 套接字之间转发数据。 当 IIS RPC 代理在客户端或服务器端检测到会话关闭时,它会关闭剩余的套接字。
客户端应用程序隐式使用 IIS 的静态绑定,但服务器可以使用动态终结点,) 解析 RPC 服务器端口的 RPCSS (终结点映射器。 如果 IIS 与 RPC 服务器位于不同的计算机上,则 IIS 接收远程调用,联系 RPC 服务器计算机上的 RPCSS 以获取服务器进程终结点,然后将调用转发到相应的 RPC 服务器。
如果安装了 Internet Explorer,传输将检查注册表,以查看是否有 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[,]"