問題タブ [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.
c# - MAF 対 MEF 対 Prism
MEF または Prism with Silverlight のチュートリアルを見ていましたが、側面で MAF 作業 (System.AddIn) も行っていて、それもうまくいくと思いました。Prism と MEF はほとんど同じものですが、Prism にはイベント アグリゲーターがあります。
MAF が Silverlight とどの程度うまく連携するかについて、誰か考えている人はいますか?
c# - PrismまたはCALでのMAFの使用
CABアプリケーションをPrismに移行中です。そして、シェルでホストされているすべてのモジュールを異なるAppdomainに配置するという特定の要求に直面しています。これを達成するためにMAFを使用することを考えていました...誰かがそれについてどうやって行くかについて私にいくつかの頭を教えてもらえますか?
よろしくお願いしますVikram
.net - 独自の拡張性レイヤーまたはMEF/MAF?
.NETでアプリケーションの拡張性を使用する場合、独自の拡張性レイヤーを作成するか、MEF(管理された拡張性フレームワーク)またはMAF(管理されたアドインフレームワーク)を使用して、何をするのが好きですか?
ImplementationOf(interface)
これまで、アプリケーションの拡張性を実装する両方の方法を使用してきましたが、インターフェイスの実装を直接確認しなくても( .NETにチェックがないため)、特定の場所から既存のアセンブリを簡単にロードできるという点でMEFが気に入っています。 。
特定の拡張性レイヤーの設定に見られる利点は何ですか?欠点は何ですか?
c# - System.AddIn をサポートする ClickOnce アプリケーションの配置
MAF (System.AddIn) をサポートしたい ClickOnce アプリがあります。
System.AddIn Pipeline 構造などについてローカル コンテキストで学習しましたが、ClickOnce に関しては、そのような偉業に関する情報を見つけることができません。
AddIn パイプラインを ClicKOnce 環境で維持する必要がありますか? そのため、アプリケーションと共にパイプライン全体をデプロイしていますか? 皆さんが持っている良いリンクはありますか?
mono - MonoでのMAF(およびMEF)を使用したプログラミング
私は現在、Linuxプラットフォーム用のソフトウェアを作りたいと考えている会社でインターンシップとして働いています。彼らは.Net志向の会社なので、私にモノを調べてほしいと思っています。彼らのアプリケーションとサーバーアプリに対して安定しているかどうかを確認する必要があります。
私は現在、MEFおよびMAF(マネージドアドインフレームワーク)フレームワークをモノラルで研究しています。
MONOでMEFおよびMAFフレームワークを使用してアプリケーションを構築した経験のある人はいますか?モノなどで問題が発生しましたか?(そして解決策は大歓迎です(:)
MEFの簡単なチュートリアルコードをいくつかテストしましたが、それはmonoで正常に機能しました(ただし、提供されているすべての関数を使用したわけではありません)。MAFについて私は私を助けることができるほど多くを見つけませんでした。私を助けることができるリンクはありますか?具体的には、MONO&MAFが機能するかどうかについての投稿があるのではないかと思います。
私の質問を読んでくれてありがとう、
ベンジャミン
c# - アクセス許可が拒否されました - .NET Remoting と FrameworkElementAdapters を使用したクロス プロセス UI
私の質問は、これのレプリカではないにしても、非常に似ています。腹立たしいことに、「答え」は私に多くの仕事を与えてくれず、率直に言って、私は途方にくれています。
問題はかなり明白なはずです。Managed AddIn Framework を使用せずに、プラグ可能なアプリケーション フレームワークのプロセス間で WPF 要素を渡したいと考えています。アクセス許可が非常に制限されているため、ファイルをディスクにキャッシュして制御できない環境にデプロイします。アドイン ルートを appdata に配置するという回避策がありますが、強制されたディレクトリ構造は望ましくなく、私が知る限り、それはそのフォルダの目的ではありません。
除外方法は次のとおりです。除外行は太字で強調表示されています。
p>実験では、STA スレッドでFrameworkElementAdapters.ContractToViewAdapter()を介してハンドルをアンマーシャリングする必要があるように思われた ため、呼び出しが行われました。clientはコールバックMarshalByRefObjectであり、プロキシを介してこのメソッドでアクセスされることに注意してください。ハンドルは、 FrameworkElementAdapters.ViewToContractAdapter()への呼び出しでリモートでも作成され、リモート メソッドの戻り値としてこのアプリケーション ドメインに渡されます。
私が受け取った例外はRemotingException occured - Permission denied: cannot call non-public or static methods です。
フィードバックは大歓迎です。
c# - MAF (System.AddIn) を使用して作成されたアドインの破棄
System.AddIn を使用して作成されたアドインを破棄する方法を知っている人はいますか? オンラインのすべての例は、アドインを簡単にロードして使用する方法を示しているように見えますが、アドインが生きた後にそれらを破棄する方法を示しているものはありません。私の問題は、新しいプロセスでアドインを作成し、これらのプロセスがガベージ コレクションを取得しないことです。これは明らかに問題です。
以下は、私の問題を示すサンプルコードです。ユーザーがこのアプリケーションを終了せず、代わりに ICalculator の多くのインスタンスを作成するとします。これらのアドイン プロセスはどのように破棄されますか?
.net - .NET プラグインをサンドボックス化する実用的な方法を探している
.NET アプリケーションからプラグインにアクセスするためのシンプルで安全な方法を探しています。これは非常に一般的な要件だと思いますが、すべてのニーズを満たすものを見つけるのに苦労しています。
- ホスト アプリケーションは、実行時にプラグイン アセンブリを検出してロードします。
- プラグインは未知のサードパーティによって作成されるため、悪意のあるコードの実行を防ぐためにサンドボックス化する必要があります
- 共通の相互運用アセンブリには、ホストとそのプラグインの両方によって参照される型が含まれます
- 各プラグイン アセンブリには、共通のプラグイン インターフェイスを実装する 1 つ以上のクラスが含まれます。
- プラグイン インスタンスを初期化するとき、ホストはそれ自体への参照をホスト インターフェイスの形式で渡します。
- ホストは共通インターフェースを介してプラグインを呼び出し、プラグインは同様にホストを呼び出すことができます
- ホストとプラグインは、相互運用アセンブリで定義された型 (ジェネリック型を含む) の形式でデータを交換します。
私は MEF と MAF の両方を調査しましたが、いずれかを法案に適合させる方法を見つけるのに苦労しています。
私の理解が正しいと仮定すると、MAF は分離境界を越えてジェネリック型を渡すことをサポートできません。これは私のアプリケーションにとって不可欠です。(MAFも実装が非常に複雑ですが、ジェネリック型の問題を解決できれば、これを使用する準備ができています)。
MEF はほぼ完璧なソリューションですが、拡張アセンブリをホストと同じ AppDomain にロードするため、セキュリティ要件を満たしていないように見えます。
MEF をサンドボックス モードで実行する方法について説明しているこの質問を見たことがありますが、その方法については説明していません。この投稿には、「MEF を使用する場合は、拡張機能が悪意のあるコードを実行しないことを信頼するか、コード アクセス セキュリティによる保護を提供する必要がある」と記載されていますが、その方法については説明されていません。最後に、未知のプラグインが読み込まれないようにする方法を説明しているこの投稿がありますが、正当なプラグインでさえ未知であるため、これは私の状況には適していません。
アセンブリに .NET 4.0 セキュリティ属性を適用することに成功し、それらは MEF によって正しく尊重されますが、これが悪意のあるコードをロックアウトするのにどのように役立つかわかりません。のメソッドなどSystem.IO.File
) は としてマークされています。これは、アセンブリSecuritySafeCritical
からアクセスできることを意味します。SecurityTransparent
ここで何か不足していますか?プラグイン アセンブリにインターネット権限を提供する必要があることを MEF に伝えるために実行できる追加の手順はありますか?
最後に、ここで説明されているように、個別の AppDomain を使用して、独自の単純なサンドボックス プラグイン アーキテクチャを作成することも検討しました。しかし、私の知る限り、この手法では遅延バインディングを使用して、信頼されていないアセンブリ内のクラスで静的メソッドを呼び出すことしかできません。このアプローチを拡張してプラグイン クラスの 1 つのインスタンスを作成しようとすると、返されたインスタンスを共通のプラグイン インターフェイスにキャストできません。つまり、ホスト アプリケーションがそれを呼び出すことができません。AppDomain 境界を越えて厳密に型指定されたプロキシ アクセスを取得するために使用できる手法はありますか?
この質問が長くなってしまい申し訳ありません。その理由は、誰かが何か新しい試みを提案できることを期待して、私がすでに調査したすべての道を示すことでした.
あなたのアイデアに感謝します、ティム
.net - 制限されたAppDomainsのアドインはエスカレートされたサービスにどのようにアクセスする必要がありますか
私は現在、MAFを使用して、制限されたAppDomain(インターネット許可)にアドインが読み込まれるアドインモデルを作成しました。これは、アドインの作成者がデータベースに対して直接クエリを実行しないようにするため、ほとんどの場合、アドインがデータベースを呼び出せないことを意味します。
特定のタスクを実行できるようにする何らかの形式のホストAPIを使用するようにします(たとえば、非常に特定のクエリを実行したり、電子メールを送信したりします)。誰かがこれを行うための最良の方法を教えてもらえますか?
制限された方法でアドインを実行しているときに、ホストAPIを含むアセンブリを完全な信頼アセンブリとして扱うようにAppDomainを設定しようとしましたが、db接続を開こうとするとSecurityExceptionsが発生します。
visual-studio-2010 - MEFを使用してvs2010の右クリックコンテキストメニューにコンテンツを追加できますか?
特に、vs2010の右クリックコンテキストメニューの拡張を扱います。MEFを使用して、右クリックのコンテキストメニューにコンテンツを追加できますか?それは2009年に作業中であったと思われるものだったので、今はあるのではないかと思いました。