問題タブ [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.

0 投票する
1 に答える
355 参照

c# - Managed Addin Framework で async/await を使用する

System.AddIn (MAF) を使用して別のプロセスでアドインをホストするシステムがあります。アドイン内で、async と await を活用するコードを使用したいと考えています。

MAF はリモート処理を使用してプロセス間で通信し、この通信をほとんど制御できないため、デッドロックに陥るリスクを冒さずに非同期コードを使用する最善の方法を決定しようとしています。

たとえば、現在、次のようなメソッドを定義するコントラクトがあります。

の AddIn 実装内でDoWork、非同期 API を使用できるようにしたいと考えています。文字列から AddInAdapter と HostAdapter の内部に変換する方法を思いつくことができれば素晴らしいことTask<string>ですが、デッドロックに陥らないようにしたいのです。

ビュー コントラクトを次のように定義したいと思います。

次に、コントラクト内で次のことを行ってアダプターを表示しても安全ですか。

0 投票する
1 に答える
1451 参照

c# - ASP.NET MVC を使用してモジュール ベースのアプリケーションを構築する方法は?

ASP.NET MVC とエンティティ フレームワークを使用して大規模なアプリケーションを構築しようとしています。このプロジェクトはいつか非常に大きくなることを知っているので、特に多くのプログラマーが私を助けてくれるときに、多くの不必要な作業をせずにプロジェクトを管理できるように設計したいと考えています。

もう 1 つ考慮したいのは、アプリケーションの展開です。アプリケーションを更新したり新しいセクションを追加したりするたびに、アプリケーションをコンパイルし続ける必要はありません。

MVC 設計を使用すると、コードがクリーンで維持しやすくなると思います。しかし、私が本当に強化したいことの 1 つは、ファイルを整理しておくためのモジュール設計です。

私が行ったいくつかの検索に基づいて、同じアイデアに基づいていると思われるMEFとMAFの3つのことが出てきました。

また、MEF が私が探しているものと一致しているほとんどのプロジェクトでは、MAF がやり過ぎかもしれないことも学びました。

私が見つけたほとんどの記事は少なくとも 2 年前のもので、ASP.NET MVC 4 について述べています。それが ASP.NET MVC 5 または ASP.NET MVC 6 にどの程度関連しているかはわかりません。

私が混乱しているのは、MEF がフレームワークであり、ASP.NET MVC が別のフレームワークであることです。2 つのフレームワークを使用して、ファイルを整理し、更新や新しいモジュールの追加が必要になるたびにアプリケーションをコンパイルする必要がないように、モジュール ベースのアプリケーションで MVC 設計を取得することは可能ですか?

MVC と MEF の組み合わせは、大規模なアプリケーションの良い出発点と考えられますか? アプリケーションを設計する際に考慮すべきより良いアイデアはありますか?

0 投票する
1 に答える
946 参照

c# - デフォルトの AppDomain の Winform 内でホストされている WPF ユーザー コントロールを使用したポップアップでの壊れたタブ ナビゲーション

ポップアップを使用する WPF ユーザー コントロールがあります。このコントロールはプラグインであり、メインの AppDomain または別の AppDomain に読み込むことができ、ElementHost を使用して Winforms フォームでホストされます。プラグインがメインの AppDomain に読み込まれ、ポップアップが開かれると、ポップアップのフィールド間でタブを押すと、代わりにポップアップ ウィンドウの親の最初のコントロールにフォーカスが移動します。新しい AppDomain に読み込まれると、タブの動作は期待どおりに機能します (ポップアップ ウィンドウのコントロールを循環します)。

ここSOや他の場所で、似ているがまったく同じではない多くの質問を読みましたが、どの提案も役に立ちませんでした。

タブ メッセージが AddInHost で処理されているようです (これは、FrameworkElementAdapters を使用して、ドメイン外の場合にドメイン境界を越えて WPF コントロールをマーシャリングした結果です)。私の最終的な目標は、これを Managed Add-in Framework アドインとして実装することですが、再現を単純化するためにその方法を削減しました。

より完全なコンテキストが役立つ場合に備えて、簡略化されたレプロの git リポジトリがあります。

この動作を一貫させるにはどうすればよいですか?

WpfUserControl.xaml

Plugin.cs

MainForm.cs (選択されたビット)

0 投票する
1 に答える
32 参照

oracle - amx ページ間で渡されるオブジェクトのすべてのプロパティを表示できない

amx ページから別のページに渡されたオブジェクトのプロパティを表示する際に問題が発生しています。私の目的は、クラス employee{String name,int age,String phone} のオブジェクトのすべてのフィールドを別の amx ページに表示することです。しかし、名前フィールドしか表示できません。

これが私のempList.amxです

ここに私のEmpDetails.amxがあります

私のシミュレーターでの EmpDetails.amx の結果表示には、employee.name プロパティのみが表示され、他には何も表示されません。

0 投票する
1 に答える
122 参照

maf - System.Addin (MAF) のソース コードはどこかで入手できますか?

私は現在、C# プラグイン アーキテクチャ (主に MEF と MAF) を作成するさまざまな方法を評価しています。System.Addin (MAF) は興味深いようですが、Web 上にはあまり情報がありません。

System.Addin の仕組みをよりよく理解するために、そのソース コードを確認することは非常に興味深いことです。

私はうまくいきませんでした.MicrosoftがMAFソースコードをどこかに公開しているかどうか知っていますか?

0 投票する
0 に答える
79 参照

c# - MEF に基づく外部リソース依存関係を持つ DLL のリンク

.net MEF (Managed Extensibility Framework) と MAF (System.AddIn) の両方を読みましたが、オンライン レビューで混乱しました。

MEF は MAF より新しく、より魅力的に見えますが。MEF を使用して拡張機能を .NET アプリケーションにリンクする方法がわかりません。たとえば、MAF では、以下を含む拡張ロジック全体 (アドイン) を開発できます。

  • メイン dll、たとえば X.dll
  • X.dll によって参照されるすべての dll
  • データベース、一部のテキストファイルなど、X.dll が必要とする外部リソース

その後、ホストは X.dll 内のメソッドを呼び出すだけで、結果を待つことができます。

一方、MEF では、すべての DLL を「プラグイン」などの同じフォルダーに配置する必要があります。したがって、X.dll を検出してリンクするには、「プラグイン」にある必要があります。ホストからの着信要求を完了するために X.dll が必要とするリソースは?

私の本当の質問は次のとおりです。あるチームが、他のチームによって開発された拡張機能に依存するか、単にインターネットからダウンロードしてインストールすることによって処理機能を拡張できるホスト アプリケーションを設計する場合、MEF はそのようなプロジェクトで効果的なテクノロジですか? または、チームは MAF に固執する必要がありますか?

PS:私の質問は、セキュリティの観点からどちらが優れているかではありません...など.テキストのコーパスとヒューリスティック データベースを必要とするスペル チェッカー拡張機能。これら 2 つのリソースは拡張機能に必要ですが、ホスト自体には必要ありません。

さらに、前の例で、X.dll を実行するために Y.dll が必要な場合、y.dll は拡張子ではないため、単純に両方の dll を「Plugins」フォルダに入れることはできません。