CreateInstance の後
CreateInstance() の修正が終わっても、まだ new の処理はおわりません。
やっと stub の Invoke() に処理がやってくるのですが、最初の一発は new した直後に呼ばれるメソッド…、当然コンストラクタの呼び出しです。
コンストラクタと他のメソッドの大きな違いとして、呼び出し元コンテキストが異なるらしく、RemotingServices.ExecuteMessage() は例外を出して利用できないのですが、RealProxy クラスのメンバをちゃんと眺めていれば、この問題は即解決です。
public override IMessage Invoke(IMessage msg) { // :(前略) IConstructionCallMessage ctor = msg as IConstructionCallMessage; if (ctor != null) { return this.InitializeServerObject(ctor); } // :(以下略)
見事にコンストラクタの呼び出しが記録され……、まだ終わらないですね。