protected override IDisposable StartServer(int responseSize)
 {
     _service = RpcServer.CreateRpc(Iid, CreateStub(responseSize));
     PrepareService(_service, Iid);
     _service.StartListening();
     return(_service);
 }
示例#2
0
        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"));
 }
示例#6
0
 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"));
 }