Example #1
0
        public void ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, out ITransportHeaders responseHeaders, out Stream responseStream)
        {
            responseHeaders = null;
            responseStream  = null;

            requestHeaders[CommonTransportKeys.RequestUri] = ((IMethodCallMessage)msg).Uri;

            // connect
            NamedPipeClient client = new NamedPipeClient(pipeName);
            NamedPipeSocket socket = client.Connect();
            IpcTransport    t      = new IpcTransport(socket);

            t.Write(requestHeaders, requestStream);
            t.Read(out responseHeaders, out responseStream);
            t.Close();
        }
Example #2
0
 void AsyncHandler(IClientChannelSinkStack sinkStack, IpcTransport transport)
 {
     try
     {
         // get the response headers and the response stream from the server
         ITransportHeaders responseHeaders;
         Stream            responseStream;
         transport.Read(out responseHeaders, out responseStream);
         transport.Close();
         sinkStack.AsyncProcessResponse(responseHeaders, responseStream);
     }
     catch (Exception ex)
     {
         sinkStack.DispatchException(ex);
     }
 }
Example #3
0
        public void ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, out ITransportHeaders responseHeaders, out Stream responseStream)
        {
            responseHeaders = null;
            responseStream = null;

            requestHeaders[CommonTransportKeys.RequestUri] = ((IMethodCallMessage)msg).Uri;

            // connect
            NamedPipeClient client = new NamedPipeClient(pipeName);
            NamedPipeSocket socket = client.Connect();
            IpcTransport t = new IpcTransport(socket);
            t.Write(requestHeaders, requestStream);
            t.Read(out responseHeaders, out responseStream);
            t.Close();
        }
Example #4
0
 void AsyncHandler(IClientChannelSinkStack sinkStack, IpcTransport transport) 
 {
     try 
     {
         // get the response headers and the response stream from the server
         ITransportHeaders responseHeaders;
         Stream responseStream;
         transport.Read(out responseHeaders, out responseStream);
         transport.Close();
         sinkStack.AsyncProcessResponse(responseHeaders, responseStream);
     }
     catch (Exception ex) 
     {
         sinkStack.DispatchException(ex);
     }
 }