.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