MEMORYでのdllのリモート処理に関連する高度な質問があります。Dlls(Starter.DLL entryType)を使用するwcfサービスがあります。また、wpfアプリケーションを参照するProcessdllもあります。私にはいくつかのステップがあります:
1)wcfはDLLを取得します(ストリームメモリに追加します。)
2)wcfから読み取ったdllを処理します
3)プロセスdllはdllをcurrentdomainに追加します
foreach (byte[] binary in deCompressBinaries)
{
AppDomain.CurrentDomain.Load(binary);
}
4)wpfはプロセスのCreateApplicationメソッドにアクセスします
this._btnStartApp.Click += (s, args) =>
{
Process appMngr = new Process ();
appMngr.CreateApplication();
};
CreateApplicationメソッド:
object obj = appLoader.CreateInstance(appLoader.EntryType);
MethodInfo minfo = obj.GetType().GetMethod("Execute", BindingFlags.Instance | BindingFlags.Public | BindingFlags.CreateInstance);
しかし、QuickWatchingの場合、getMethosの結果にExecuteメソッドが表示されません。別の現在のドメインでExecuteメソッドを実行する方法は?このDLLは、wpfcurrentdomainではなくProcessDllのcurrewntdomainを追加しています。