У меня есть клиентское приложение, в котором я собираю данные и сохраняю их в структуре класса Packet. Могу ли я отправить объект этого класса в мое серверное приложение? .. Оба приложения работают на разных компьютерах, подключенных к локальной сети.
В .Net Remoting, где экземпляр Object создается на сервере, а Objref используется совместно с клиентом. Теперь у меня есть объект класса Packet в качестве удаленного объекта, который используется в качестве активируемых объектов клиента. Объект создается, когда клиент активирует его.
public class Packet : MarshalByRefObject {
public int svrnumber;
public string svrname;
[NonSerialized]
public static IObserver Observer;
public void MessageString(object value) {
Observer.Notify(value);
}
public static void Attach(IObserver observer) {
Observer = observer;
}
}
Я ссылаюсь на Pack (Object) этого класса на стороне клиента и присваиваю значение.
Pack.svrname = "Bob";
Pack.svrnumber = 123456;
sample = (Object)Pack;
Передайте этот образец объекта в Notify. Я получаю этот образец объекта на сервере через функцию уведомления и распаковываю его, чтобы получить мои значения.
Когда я вызываю функцию MessageString, я получаю исключение, так как ограничения безопасности Objref недоступны !!
Также скажите мне, есть ли какой-либо другой подход к этой проблеме. Или я должен использовать подход SocketProgramming, где я преобразую все значения моего класса в байты, а затем отправляю их на сервер и затем переназначаю их.
Спасибо.