Я хотел бы знать, как обрабатываются потоки на стороне сервера с использованием объектов MarshalByRef.
Учитывая мой удаленный класс MarshalByRef:
public class MyRemotedClass : MarshalByRef
{
public int MyInt;
public string MyString;
}
Код клиента (однопоточный):
MyRemotedClass m = GetSomehowMyRemotedClass();
m.MyInt = 5; // Write operation 1
m.MyString = "Hello World"; // Write operation 2
На стороне сервера у нас есть две операции записи. Я предполагаю, что поток от ThreadPool. Однако, поскольку классом является MarshalByRef, обе операции являются отдельными вызовами удаленных процедур. Они собираются работать в отдельном потоке? Если да, может ли произойти, что операция 2 будет выполнена до завершения операции 1?
PS: Создание MyRemotedClass MarshalByRef - ПЛОХОЕ решение. Но мне не разрешено это менять, поэтому, пожалуйста, не предлагайте это.