問題タブ [maf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 別のプロセスで MEF パーツをインスタンス化する
MEF で各プラグインを個別のプロセスとしてインスタンス化することは可能ですか? または、MAFを使用する必要がありますか?
PS: http://pwlodek.blogspot.com/2011/07/isolating-mef-components.htmlで興味深い記事を見ました
[アプリケーションを実行できず、クラッシュします]
.net - MEFとMAFを一緒に使用する
MEF(Managed Extensibility Framework)を使用してプラグインを作成し、 MAF(Managed AddIn Framework)を使用して別のプロセスでプラグインを実行したいと思います。
それで
- まず、それは可能ですか?
- では、可能であればどうやって?(どんな小さな例でも素晴らしいでしょう。)
MEFとMAFはどのように連携し、相互に補完することができますか?
自分をより具体的にする:
まあ私はMAFでパイプラインを書きたくない...
MEFの使いやすさを使用してプラグインを作成し、MAFの分離を使用して各プラグインを個別のプロセスとして実行したいだけです...
私はhttp://kentb.blogspot.com/2009/02/maf-and-mef.htmlサイトをチェックしますが、彼はパイプラインも書いています...
.net - 別のプロセスとして実行される MAF プラグインにカスタム名を付ける
別のプロセスで MAF[Managed Add - In Framework] を使用してプラグインを有効にします。
問題は、個別のプロセスとして実行される各プラグインにデフォルト名「AddInProcess32」を与えることです。
MAF が作成するプロセスにカスタム名を付けることはできますか? もしそうなら、どのように?
PS: カスタム名を付けたいのはなぜですか? ユーザーに誤ってプロセスを強制終了させたくないので...プロセスに、それが私のアプリの一部であることを明確に示す名前を付けたいです。
plugins - MAFプロセスをWindowsファイアウォールの例外ルールに追加する方法
Microsoft Managed AddIn Frameworkを使用して、アドインを別のプロセスとして実行しています。
プラグインdllから「AddInProcess32.exe」というプロセスを作成します。
プラグインはポートを開くことができるはずなので、それを防火壁例外アプリケーションに追加できるはずです。しかし、私はこれを行うことはできません。
Windows 7の防火壁の例外にMAFプロセスを追加するにはどうすればよいですか?
c# - アクティベートされたアドインを取得する方法は?
Windowsサービスプロセス内でいくつかのアドインをアクティブ化しています。GUIアプリケーションが実行されている別のプロセスがあります。私が欲しいのは、どういうわけかアクティブ化されたアドインをサービスから取得することです。問題は、サービスプロセス内でアクティブ化されたアドインイベントを取得できないことです。何か案は?
PS:私はSystem.Addinについて話している
編集:
私が本当に望んでいるのは、アドインをシャットダウンすることです。これを行う1つの方法は、次のコードのようなものです。問題は、アドインへの参照が必要なことです。GUIアプリケーションにはそのような参照はありません。サービスでシリアル化し、GUIで逆シリアル化する必要がありますか?
c# - C#MAF dllをロックせずにアドインをアクティブ化
System.AddIn を使用して、.dll ファイルをロックせずに AddIn を読み込んで有効にする方法はありますか? ファイルを削除またはオーバーライドして、新しいバージョンのアドインをロードしたいと考えています。
現時点でファイルのロックを解除する唯一の方法は、アドインをシャットダウンすることです。しかし、着信コールに対して常に有効にしておく必要があります(非同期サービス、はい、悪夢です)。
または、実行時にアドインを更新する別の方法があるのかもしれませんが、私はそれを正しく行っていません。これを行う正しい方法を知りたいです。ありがとう!
c#-4.0 - System.Addinは、アクティブ化せずにトークンからHostViewを取得します
トークンをアクティブ化せずにトークンのHostViewを取得する方法はありますか?私のプログラムでは、wpfウィンドウが読み込まれたときにトークンをアクティブにしてから、別のクラスで特定のトークンのHostViewにアクセスする必要があります。
オンラインでいくつかの初期チェックを行った後、これを行うメソッドが見つからなかったため、トークンと特定のHostViewの間に1:1の相関関係はないと推測されます(つまり、1つのトークンが複数のビューを持つ可能性があります)。私はこれをやめていますか?
.net - セキュリティおよび MAF アドオン
外部開発者コミュニティが開発したアドインを組み込むことができるWPFシステムを構築したい。私はそれらの開発者を保証できないので、彼らのコードが安全な環境で実行されることを望んでいます。MAF は良い解決策だと思われるので、MAF のセキュリティを調査することにしました。アドオンごとに正確な権限セットを定義できます。これは非常に優れています。
ただし、アドオンが WPF コントロールを返せるようにしたいと考えています。そのためには、WPF アセンブリを実行できる必要があります。さらに、アドオンをロードするときに設定したセキュリティ権限をオーバーライドできないように、アドオンがアンマネージ コードを実行できるようにしたくありません。
ここに問題があります。アンマネージ コードを実行する権限なしでアドオンをロードすると、アドオンは WPF コントロールを作成できなくなります。どうすればこの問題を解決できますか?
この問題をもう少しテストするために、小さな WPF アプリを作成し、それを読み込んで別のアプリから実行しようとしました。以下は、WPF アプリを読み込んで実行するコードです。そのままでも問題なく動作しますが、最後の AddPermission ステートメント (UnmanageCode フラグが設定されたステートメント) を削除すると、WPF アプリケーションのウィンドウを作成できないと言って動作を停止します。
c# - MicrosoftアドインフレームワークとOSGi?
MAFはOSGiとどのように比較されますか?
MAFは私が簡単に見つけることができるものではありません、そして私は人々が例えばMEFほどそれを推薦しない理由をさまよっていますか?少なくとも一見したところ、OSGiに似ているようです。
c# - ホストに渡すDLL内のクラスを持つMAF
DLLにクラスが含まれるMAFアプリケーションを開発しています。問題は、アドインの 1 つによって公開されたメソッドの 1 つがこのクラスを使用する場合です。例:
そして、私のアドインにはクラスAを使用するメソッドがあります
では、パイプラインのどこに DLL を配置すればよいのでしょうか? または、このシナリオをどのように進める必要がありますか?
プロジェクトが開始されると、AddInStore.Update() メソッドの警告により、次のようなメッセージがスローされます: canalization の一部に接続できません...
そのため、 「バージョン管理、コレクションと WPF ビジュアルの受け渡し、シリアル化できない型の受け渡しなど、MAF が提供する他の多くの機能があります」という記事があります。しかし、私は例を見つけることができません。
編集:
契約の制限に関するこのリンクを提供してくれた Panos に感謝します。さらに調査を重ねた結果、Paint.NET プロジェクトを通じて、参照せずにホストでデータ型を使用する方法を示すこの記事を見つけました。
両方のソースを読んだ後、これが私が探しているものであることがわかりました。しかし、私はまだそれを理解することはできません。
最後の請願として、誰かコード例を提供してもらえますか? やっと手に入れるだけ。
ありがとう。