.NET 4.x NET Remoting (использование удалённых библиотек) - C#
Формулировка задачи:
Здравствуйте уважаемые. Есть такая проблема, не удаётся использовать методы расположенные на сервере.
Библиотека расположенная на стороне клиента (интерфейс, который по идее должен реализоваться на сервере):
Библиотека расположенная на стороне сервера:
Серверное приложение:
Клиентское приложение (создание экземпляра удалённого класса и его использование):
Так вот, ошибка возникает на следующей строке:
public enum User { Admin, RegularUser }; public interface Class1 { bool CheckLoginAndPassword(string ReceivedLogin, string ReceivedPassword, User UserType); bool Compare(string Login, string ReceivedLogin, string Password, string ReceivedPassword); }
public class Class1 : MarshalByRefObject { CheckLoginAndPassword(string ReceivedLogin, string ReceivedPassword, User UserType) { ... if (Compare(Login, ReceivedLogin, Password, ReceivedPassword)) return true; else return false; } bool Compare(string Login, string ReceivedLogin, string Password, string ReceivedPassword) { return (Login == ReceivedLogin && Password == ReceivedPassword); } }
static void Main(string[] args) { TcpChannel ServerChannel = new TcpChannel(555); ChannelServices.RegisterChannel(ServerChannel, true); RemotingConfiguration.RegisterWellKnownServiceType(typeof(LoginAndPassword.Class1), "AccessChecker", WellKnownObjectMode.SingleCall); Console.ReadLine(); }
public bool CheckLogAndPass(string Login, string Password, User UserType) { TcpChannel ClientChannel = new TcpChannel(); ChannelServices.RegisterChannel(ClientChannel, true); LoginAndPassword.Class1 RemoteObject = (LoginAndPassword.Class1)Activator.GetObject(typeof(LoginAndPassword.Class1), "tcp://localhost:555/AccessChecker"); ClientChannel.StopListening(RemoteObject); bool Response = RemoteObject.CheckLoginAndPassword(Login, Password, UserType); return Response; }
bool Response = RemoteObject.CheckLoginAndPassword(Login, Password, UserType);
Вылетает SerializaionException. Текст исключения:
Не удалось загрузить тип LoginAndPassword.User, необходимый для десериализации.
Я так понимаю это ошибка при получении результата. Объясните пожалуйста, что я делаю не так. Заранее спасибо. Проект с .dll-ками прилагается. Буду рад любым замечаниям и советам. NET Remoting.rarРешение задачи: «.NET 4.x NET Remoting (использование удалённых библиотек)»
textual
Листинг программы
public class Class1 : MarshalByRefObject
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д