Кому-нибудь, кто может помочь! Я пытаюсь иметь приложение C#, которое говорит, что именованные каналы работают через сеть между двумя компьютерами. Приложения отлично работают на одном ПК и на ПК в пределах одного домена. Но у меня есть проблемы, когда один компьютер находится в «рабочей группе», а один - в домене. Безопасность на сервере не является проблемой, я могу сделать ее максимально открытой.Именованные трубопроводы по всей сети дают «неправильное имя пользователя или пароль»
Справочная информация:
- Клиент - компьютер находится в домене, может подключиться к серверу через C $ долю администратора
- Сервер - не в домене, приложение работает как консоль, брандмауэр отключен, включен «Разрешить совместное использование файлов и принтеров». Порт 445.
Кажется, что я не могу получить доступ к именованным каналам на удаленном сервере. Код:
// Client Connection
PipeStream pipe = new NamedPipeClientStream("192.168.1.102", "TEMP_PIPE", PipeDirection.InOut, PipeOptions.Asynchronous, TokenImpersonationLevel.None);
((NamedPipeClientStream)pipe).Connect();
// Server Connection
PipeSecurity pipeSecurity = new PipeSecurity();
pipeSecurity.AddAccessRule(new PipeAccessRule("Everyone", PipeAccessRights.ReadWrite | PipeAccessRights.CreateNewInstance, AccessControlType.Allow));
PipeStream pipe = new NamedPipeServerStream("TEMP_PIPE", PipeDirection.InOut, NamedPipeServerStream.MaxAllowedServerInstances, PipeTransmissionMode.Message,
PipeOptions.Asynchronous, 0, 0, pipeSecurity);
При попытке подключения к серверу от клиента Connect() я получаю «имя пользователя или пароль неверно.» ошибка.
Я застрял, не уверен, что это проблема с именем C# .Net с именами или проблема с Windows? Я склонен полагать, что мне нужно разрешить именованные каналы как-то в окнах, но не уверен, как (из-за ошибки имени пользователя/пароля). Любая помощь приветствуется. Заранее спасибо!