2013-12-21 51 views
1

我試圖創建一個客戶端命名管道程序連接到服務器管道程序,但遇到此問題。訪問路徑被拒絕&試圖執行未經授權的操作

"Access to the path is denied" 

clientpipe = New System.IO.Pipes.NamedPipeClientStream 
("192.168.1.1","soohhead",Pipes.PipeDirection.InOut, Pipes.PipeOptions.None) 

clientpipe.connect() 

- 當我嘗試如下修改代碼,它將返回我的另一條錯誤消息爲 「試圖執行一個unathorized操作」。

clientpipe = New System.IO.Pipes.NamedPipeClientStream 
("192.168.1.1","soohhead",Pipes.PipeDirection.InOut, Pipes.PipeOptions.None) 

clientpipe.connect() 

ps = New PipeSecurity() 
ps = clientpipe.GetAccessControl() 
ps.AddAccessRule(New PipeAccessRule("NT AUTHORITY\NETWORK SERVICE", 
PipeAccessRights.Write, AccessControlType.Allow)) 

clientpipe.SetAccessControl(ps) 

在回報我的客戶管仍然無法連接到服務器管程序,欣賞感謝任何人的幫助。

回答

1

我正在將您的解決方案放在問題的外面,並將其放置在此處以便將來向其他用戶提供幫助。

服務器管:

ps = New System.IO.Pipes.PipeSecurity 

ps.AddAccessRule(New System.IO.Pipes.PipeAccessRule("Users", 
System.IO.Pipes.PipeAccessRights.FullControl, AccessControlType.Allow)) 

ps.AddAccessRule(New System.IO.Pipes.PipeAccessRule("CREATOR OWNER", 
System.IO.Pipes.PipeAccessRights.FullControl, AccessControlType.Allow)) 

ps.AddAccessRule(New System.IO.Pipes.PipeAccessRule("SYSTEM", 
System.IO.Pipes.PipeAccessRights.FullControl, AccessControlType.Allow)) 

serverpipe = New System.IO.Pipes.NamedPipeServerStream("soohhead", 
Pipes.PipeDirection.InOut, 10, Pipes.PipeTransmissionMode.Message, 
Pipes.PipeOptions.None, 4024, 4024, ps) 

客戶端管:

clientpipe = New System.IO.Pipes.NamedPipeClientStream 
("192.168.1.1","soohhead",Pipes.PipeDirection.InOut, Pipes.PipeOptions.None) 

clientpipe.connect()