Столкнулся со проблемой передачи СОМ-объектов (в частности Excel) через Remoting. Есть клиент и сервер, оба на C#, код полностью управляемый. Добавляю к проектам сервера и клиента ссылку на СОМ-компонент Microsoft Excel 10.0 Object Library. Создаю на клиенте экземпляр Excel.ApplicationClass и пытаюсь передать его (как интерфейс Excel.Application) на сервер. При этом клиент наглухо зависает. Например, код простейшего метода сервера:
public void FillXL(Excel.Application xl)
{
xl.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
}
код вызова на клиенте:
Excel.Application xl = new Excel.ApplicationClass();
xl.Visible = true;
Server.FillXL(xl); //Server - это экземпляр Remoting сервера
Показывается новое пустое приложение экселя, затем при вызове метода FillXL клиент виснет намертво, ни на что не отвечая. Даже если клиент и сервер на одной машине. Пробовал передавать параметр как Excel.ApplicationClass и как object с последующим приведением типов — та же ботва. Если Server сделать локальным объектом, естественно, все работает. В чем тут заморочка?
Раньше (на VB6 и VC6) подобную штуку можно было реализовать через OLE или DCOM. Можно ли такое в .NET? Можно ли передавать COM-интерфейсы через Remoting вообще? Может, это какая-нибудь фича Interopa вообще? С Interop только начал работать, так что не пинайте очень сильно, если какую глупость сморозил

Буду рад любой помощи.