Ну, посмотрев на Общий источник, найденный на syncfusion.com , и проверив атрибут SecurityPermissions здесь , и я могу догадаться, что либо BinaryFormatter (вы не сказали что?) не удалось десериализовать рассматриваемый объект.
Поскольку вы упомянули, что это особенно длинный вызов, может быть, стоит обернуть удаленный вызов в блок try
/ catch
и заключить полный стек, чтобы точно определить, где он выходит из строя. Даже лучше, если InnerException не равен NULL, включите это .... Или сделайте что-то вроде этого ... Хорошо, это может звучать хакерски ... и может не получиться ...
На стороне сервера создайте фиктивный метод ... например
void FuBar(void){
int foo = 3, bar = 4, baz = 0;
baz = foo + bar;
}
Когда вы вызываете длительную процедуру, порождайте поток в фоновом режиме для повторного вызова метода FuBar
, чтобы убедиться, что сервер удаленного взаимодействия не истекает, а когда вызов завершается, завершите работу потока ...
Я предполагаю, что по прошествии некоторого времени вызов удаленного доступа завершится неудачей, несмотря на возобновление спонсора ...
Или это может быть время ожидания сокета? У меня нет идей ...
Надеюсь, это поможет,
С наилучшими пожеланиями,
Том.