1. Чем обусловлен выбор HttpChannel, а не пары HttpServerChannel и HttpClientChannel? Это сделано сознательно?
2. Метод ChannelServices.RegisterChannel(IChannel) — устаревший. Его использование чем-то обусловлено?
3. Вот это:
RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemotingIntegrator), "IntegratorURI", WellKnownObjectMode.Singleton);
RemotingIntegrator rIntegrator = new RemotingIntegrator();
RemotingServices.Marshal(rIntegrator, "IntegratorURI");
как минимум бессмысленно. Зарегистрируйте свой tracking handler
using System.Runtime.Remoting.Services;
....
internal class MyTrackingHanlder : ITrackingHandler
{
#region ITrackingHandler Members
public void DisconnectedObject(object obj)
{
Console.WriteLine("Disconnected obj: {0}", obj.GetType());
}
public void MarshaledObject(object obj, ObjRef or)
{
Console.WriteLine("Marshalled obj: {0}, URI: {1}", obj.GetType(), or.URI);
}
public void UnmarshaledObject(object obj, ObjRef or)
{
Console.WriteLine("UnMarshalled obj: {0}, URI: {1}", obj.GetType(), or.URI);
}
#endregion
}
...
public static RemotingIntegrator ConfigureRemotingIntegrator()
{
...
TrackingServices.RegisterTrackingHandler(new MyTrackingHanlder());
...
}
и посмотрите на маршаллинг объектов. В вашем случае на ремоутинг-вызовы будет отвечать объект, созданный здесь:
RemotingIntegrator rIntegrator = new RemotingIntegrator();
RemotingServices.Marshal(rIntegrator, "IntegratorURI");
Так что либо эти две строчки, либо
RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemotingIntegrator), "IntegratorURI", WellKnownObjectMode.Singleton);
4. Ваша трассировка стека наводит на подозрения. Пожалуйста, приведите полную трассировку в режиме отладки. Должен быть серверный стек, клиентский стек и номера строчек для модулей, содержащих отладочную информаци.