2

ASP.NET 3.5 WAP を構築する際、ロジックや UI の一部をどのように「分離」または「カプセル化」しても、必要なときにいつでもサイト全体をダウンさせてしまうという感覚に常に苛立ちます。 1 行のコードを更新します。ASP.NET が "bin" ディレクトリの変更を処理する方法を誤解しているかもしれませんが、「AppDomain がアンロードされるのはなぜですか?」さまざまなグループのメッセージでは、これはまだ避けるべきもののようです。

ASP.NET 3.5 WAP を真にモジュール化して、ロジックとページを「実行中」に追加/更新できるようにするためのガイダンスやフレームワークを持っている人はいますか? System.AddIn を少しググったのですが、WPF アプリケーションに焦点を当てているようです。

ご協力いただきありがとうございます!

ジェームズ・ホワイト

4

4 に答える 4

1

.NET はアプリ ドメインに読み込まれた型のアンロードをサポートしていないため、これを実現するのは非常に困難です。

これを行う 1 つの方法は、アプリ ドメインをいじるか、WCF に任せることです。

もう 1 つは ayende のhod code swapping を実装することです。

3 つ目の方法は、動的にコンパイルされた部分 (ASPX) にロジックを配置することです。ただし、アプリは設定可能な量の変更後に再起動します。

于 2008-11-11T20:30:16.713 に答える
1

2 つ以上のサーバーを使用します。アップグレードする必要がある場合は、一方を停止してアップグレードし、もう一方を停止してアップグレードし、起動します。

これを行うには、データベースの変更などが難しい場合があるため、両方のバージョンを同時に実行するのに少し手間がかかります。しかし、同じ努力は、変更をロールバックできること、おそらく「実験的」サーバーなどで数人のユーザーをホストできることにも報われます。水平スケーリングが一般的に良いことであることは言うまでもありません:)

于 2008-11-11T20:31:44.463 に答える
1

ここでは別のアプローチを取ることができます。つまり、AppDomain の再起動がサイトの使いやすさに影響を与えないようにすることです。

これを行うには、セッションをプロセス外に移動するか、セッションへの依存を完全に停止します。

これを行う場合、appdomain の再起動は大した問題ではなく、その時点に到達した場合にクラスター間で簡単にスケーラビリティを確保できるようにアプリケーションを準備します。

于 2008-11-11T20:33:17.267 に答える
0

追加の考えですが、それが「COM +」ビット全体で許可されていたものだと思います(共有ホストを保存)。ロジックを小さなステートレス ソーセージ ファクトリに分割することで、おそらくスムーズな修正操作が可能になりました。

于 2008-11-12T05:04:57.670 に答える