最終的に
InitializeServerObject() の呼び出しを加えて、
IConstructionCallMessage ctor = req as IConstructionCallMessage; if (ctor != null) { this.InitializeServerObject(ctor); return EnterpriseServicesHelper.CreateConstructionReturnMessage( ctor, this.GetTransparentProxy() as MarshalByRefObject); }
とすることで、Form1.Increment() において、RemotingServices.IsTransparentProxy(this) == true, RemotingServices.GetRealProxy(this) == typeof(MethodLogger) となりますし、new Form1() の戻り値も同様に MethodLogger の proxy です。
しかし、new の結果に対してメソッド呼び出しを行うと、きっちり Invoke() に処理がきますが、Increment() 内で proxy.Add() が呼び出されるにもかかわらず、Invoke() に制御がやってこなし、this を外に取り出してメソッドを呼び出しても Invoke() には到達しません。
といったところで、調査は進めておりません。
事前に完成したものにならないと予告した通り、このまま未完成で終了です。