Remoting の制限

その問題点とは、RemotingServices.ExecuteMessage() によって実行できないメッセージが存在するのだ。
たとえば、Control の派生クラスに対して MethodLogger を作成しフォームに追加するだけで "Control.parent が見つかりません。" といった内容の例外が発生する。
いくつかのクラスを試してみれば、この問題が Family アクセスレベルに起因していることが判明するだろう。(C# では internal )
そう、通常 Remoting によって外部から proxy に対してアクセスする場合、その "外部" は、proxy の internal や private といった要素に対してアクセスすることはできない。
しかし、今は Remoting の仕組みを利用してはいるものの、internal に対するアクセスが許可されているコードを使用しているので、これは RemotingServices クラスにとって想定外と言えるだろう。