protected override IDisposable StartServer(int responseSize) { _service = RpcServer.CreateRpc(Iid, CreateStub(responseSize)); PrepareService(_service, Iid); _service.StartListening(); return(_service); }
public void ClientInformationTest() { //Create the server with a stub pointing to our implementation using (Win32RpcServer server = RpcServer.CreateRpc(iid, new ClientInformationFilter()) .AddAuthWinNT() .AddProtocol("ncalrpc", "lrpctest") .AddProtocol("ncacn_ip_tcp", "12345") .AddProtocol("ncacn_np", @"\pipe\p1")) { server.StartListening(); using ( RpcClient client = RpcClient.ConnectRpc(iid, "ncalrpc", null, "lrpctest").Authenticate(RpcAuthenticationType.Self)) client.CallMethod("ncalrpc", RpcVoid.DefaultInstance, RpcVoid.CreateBuilder()); using ( RpcClient client = RpcClient.ConnectRpc(iid, "ncacn_ip_tcp", "127.0.0.1", "12345").Authenticate( RpcAuthenticationType.Self)) client.CallMethod("ncacn_ip_tcp", RpcVoid.DefaultInstance, RpcVoid.CreateBuilder()); using ( RpcClient client = RpcClient.ConnectRpc(iid, "ncacn_np", @"\\localhost", @"\pipe\p1").Authenticate( RpcAuthenticationType.Anonymous)) client.CallMethod("ncacn_np-Anonymous", RpcVoid.DefaultInstance, RpcVoid.CreateBuilder()); server.AddAuthNegotiate(); //winnt authentication not supported over pipes... need to allow nego using ( RpcClient client = RpcClient.ConnectRpc(iid, "ncacn_np", @"\\localhost", @"\pipe\p1").Authenticate( RpcAuthenticationType.Self)) client.CallMethod("ncacn_np", RpcVoid.DefaultInstance, RpcVoid.CreateBuilder()); } }
protected override void PrepareService(Win32RpcServer service, Guid iid) { service.AddProtocol(RpcProtseq.ncacn_ip_tcp.ToString(), PortNumber.ToString()); service.AddAuthWinNT(); }
protected override void PrepareService(Win32RpcServer service, Guid iid) { base.PrepareService(service, iid); service.AddAuthWinNT(); }
protected override void PrepareService(Win32RpcServer service, Guid iid) { service.AddProtocol(RpcProtseq.ncalrpc.ToString(), iid.ToString("N")); }
protected override void PrepareService(Win32RpcServer service, Guid iid) { throw new NotSupportedException(); }
protected abstract void PrepareService(Win32RpcServer service, Guid iid);
protected override void PrepareService(Win32RpcServer service, Guid iid) { service.AddProtocol(RpcProtseq.ncacn_np.ToString(), @"\pipe\" + iid.ToString("N")); }