[解決済み] アプリケーションドメインがわからない
質問
.NET にはアプリケーション ドメインという概念があり、私の理解では、アセンブリをメモリにロードするために使用することができると思われます。私はアプリケーション ドメインについていくつか調査し、また、この主題に関するいくつかの追加知識を得るために地元の書店に行きましたが、非常に少ないようです。
私が知っている Application Domains でできることは、メモリにアセンブリをロードし、好きなときにそれをアンロードできることだけです。
私が述べた Application Domains の他の機能は何ですか?スレッドは Application Domains の境界を尊重しますか。メインのアプリケーションドメイン以外の異なるアプリケーションドメインでアセンブリをロードすることで、通信のパフォーマンス以上の欠点はありますか?
アプリケーション ドメインを議論するリソースへのリンクも同様に素晴らしいでしょう。私はすでに MSDN をチェックアウトしましたが、それらについてそれほど多くの情報を持っていません。
どのように解決するのですか?
AppDomainsは、非常に軽量なプロセスとして最もよく可視化されます。
.Net プロセスごとに N 個の AppDomain を作成できますが、一般的には 1 つだけです。 AppDomain の本当の利点は、プロセス内の分離境界を提供することです。 オブジェクトは、リモーティングまたはシリアライゼーションによってのみ、AppDomainの境界を越えて互いに会話することができます。
また、プロセス内で完全に異なるセキュリティレベルで 2 つの AppDomain を実行することも可能です。 これにより、メイン アプリケーションを完全な信頼度で実行しながら、信頼されていないプラグインをはるかに低い信頼度で実行することができます。
スレッドが AppDomain を尊重するかどうかについて、イエスかノーかを空白にすることは困難です。 1 つのスレッドが N 個の異なる AppDomain にあることはあり得ます。 あるAppDomainにあるオブジェクトが別のAppDomainにあるオブジェクトにリモートコールをする場合、そのような状況が起こりえます。 スレッドは完了するためにAppDomain間を遷移する必要があります。
AppDomainの欠点は主に複雑さです。 Remotingを理解するのに少し時間がかかり、AppDomainを適切に設定することは、自明ではありません。
AppDomain に関する MSDN のドキュメントに目を通すとよいでしょう。 AppDomain にはさまざまな複雑な機能があるため、それらを説明する簡潔なチュートリアルを見つけることは困難です。 これは素晴らしい概要を提供し、質問に直接答えられない場合でも、少なくとも正しい場所を指し示すことができます。
http://msdn.microsoft.com/en-us/library/cxk374d9.aspx
このドキュメントはもう保守されていませんので、最新版はこちらを参照してください。 https://msdn.microsoft.com/en-us/library/2bh4z9hs(v=vs.110).aspx
関連
-
[解決済み] アセンブリから型を読み込めなかったエラー
-
[解決済み] 16進数値0x00は無効な文字です。
-
[解決済み] スマートクライアント・ソフトウェアファクトリーの体験談
-
[解決済み] Visual Studioの "ターゲットフレームワーク "が見つからない
-
[解決済み] BasicHttpsBindingとWsHttpBinding with Transport securityの違いは何ですか?
-
[解決済み] 1は有効なWin32アプリケーションではありません "を解決するには?
-
[解決済み] .NETコンソールアプリケーションでアプリケーションのパスを取得するにはどうすればよいですか?
-
[解決済み] .NETアプリケーションを強制的に管理者として実行させるにはどうしたらいいですか?
-
[解決済み] ASP.NET WebサイトとASP.NET Webアプリケーションのどちらを選ぶか?
-
[解決済み] MemoryStreamから文字列を取得する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] NetFx45WebLinkとNetFx45RedistLinkの違いは何ですか?
-
[解決済み] 'Newtonsoft.Json' には 'Microsoft.CSharp' の依存関係がすでに定義されています。
-
[解決済み] ファイルまたはアセンブリをロードできませんでした 操作がサポートされていません。(HRESULT: 0x80131515 からの例外)
-
[解決済み] Powershell v3 Invoke-WebRequest HTTPSエラー
-
[解決済み] terminationGracePeriodSeconds not
-
[解決済み] 列挙型を文字列に変換する
-
[解決済み] パッケージのダウングレード警告を検出(dotnet core, vs 2017)
-
[解決済み] RelativeSourceでWPFバインディングを使用するにはどうしたらいいですか?
-
[解決済み] Math.Round(2.5)はなぜ3でなく2を返すのですか?
-
[解決済み] .NETアプリケーションドメインとは何ですか?