attributo ncacn_http
La parola chiave ncacn_http identifica Microsoft Internet Information Server (IIS) come famiglia di protocolli per l'endpoint.
ncacn_http:rpc_server[endpoint]
-
rpc_server
-
Indirizzo Internet o nome del computer in cui è in esecuzione il processo del server RPC.
-
Endpoint
-
Porta TCP/IP nota (statica) su cui è in ascolto il processo del server RPC.
L'identificazione di Microsoft Internet Information Server (IIS) come famiglia di protocolli consente alle applicazioni client e server di comunicare attraverso Internet usando Microsoft Internet Information Server (IIS) come proxy. Poiché le chiamate vengono tunnelate tramite una porta HTTP stabilita, possono attraversare i firewall.
Tutte le applicazioni client e server RPC possono supportare il protocollo ncacn_http purché siano in rete in un server Internet Information Server. IIS contatta il server RPC e stabilisce un socket TCP/IP, che gestisce per il client. IIS negozia una connessione TCP/IP con il server RPC e una volta completata la negoziazione, funge da proxy RPC, inoltrando i dati tra il socket TCP/IP lato client e il socket TCP/IP lato server. Quando il proxy RPC IIS rileva una sessione chiusa sul client o sul lato server, chiude il socket rimanente.
L'applicazione client usa in modo implicito l'associazione statica a IIS, ma il server può usare endpoint dinamici, con RPCSS (endpoint mapper) del server che risolve la porta del server RPC. Se IIS si trova in un computer diverso dal server RPC, IIS riceve la chiamata remota, contatta RPCSS nel computer server RPC per ottenere l'endpoint del processo del server server e quindi inoltra la chiamata al server RPC appropriato.
Se Internet Explorer è installato, il trasporto verificherà il Registro di sistema per verificare se è presente una configurazione per un proxy HTTP. Se esiste un proxy, il trasporto lo userà.
//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[,]"