ich hab ein großes problem mit den named pipes in c#!
ich versuche im moment eine verbindung zwischen 2 computern herszustellen und zwar so dass der Client schreiben und der Seerver lesen kann!
aber ich bekommen beim client immer eine invalid operation exception:
Das Pipehandle wurde nicht festgelegt. Hat Ihre PipeStream-Implementierung InitializeHandle aufgerufen?
hier ist auch mein code dazu:
server:
Quellcode
- try
- {
- server = new NamedPipeServerStream("verbindung", PipeDirection.InOut, 10, PipeTransmissionMode.Message, PipeOptions.None, 4096, 4096, null, HandleInheritability.None, PipeAccessRights.ChangePermissions);
- PipeSecurity ps = server.GetAccessControl();
- PipeAccessRule rule = new PipeAccessRule(@"Admin", PipeAccessRights.FullControl, System.Security.AccessControl.AccessControlType.Allow);
- ps.AddAccessRule(rule);
- server.SetAccessControl(ps);
- server.WaitForConnection();
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
und der client:
Quellcode
- pipeClient = new NamedPipeClientStream("192.168.1.11", "verbindung",PipeDirection.InOut,PipeOptions.None,System.Security.Principal.TokenImpersonationLevel.Impersonation);
- PipeSecurity ps = pipeClient.GetAccessControl();
- ps.AddAccessRule(new PipeAccessRule("admin",PipeAccessRights.FullControl,System.Security.AccessControl.AccessControlType.Allow));
- pipeClient.SetAccessControl(ps);
- try
- {
- pipeClient.Connect(50);
- }
- catch (Exception ex)
- { }
- // Connect to the pipe or wait until the pipe is available.
- pipeClient.Connect();
Geht das überhaupt dass der Client schreibt?
Und ich hab gehört es gibt auch eine möglichkeit named pipes mit wcf zu nutzen?
Hat da vll irgendjemand eine Anleitung dazu?
lg die_pest