1

私は DNN 6.01 のインストールに取り組んでおり、新しいユーザー用に新しいサブドメイン + ポータル エイリアスを作成しています。関連する場合は、C# を使用しています。

これはほとんどの場合うまく機能しますが、現時点では、サブドメイン/エイリアスのペアのいずれかの名前を変更した場合 (たとえば、作成時のタイプミスなどにより)、変更はアプリ プールをリサイクルするまで有効になりません。これは何千ものユーザーと e コマース ソリューションを使用するライブ アプリケーションであるため、全員のセッションをランダムにリセットすることは受け入れられません。サブドメイン/エイリアスの変更が有効になるのを夜間のリサイクルまで待つのは、理想的とは言えません。

サブドメイン/エイリアスのペアを管理するモジュールに簡単に組み込むことができるように、これをプログラムで行うこともお勧めします。

アプリ プールをリサイクルしたり、セッションを削除したりせずに、DNN ポータル エイリアス キャッシュをプログラムで更新するにはどうすればよいですか?

4

2 に答える 2

2

パブリック API (PortalAliasController.UpdatePortalAliasInfo が適切と思われる) を使用している場合は、キャッシュに注意する必要があります。公開 API が機能しない場合は、support.dotnetnuke.com でトラッカーにバグを作成してください。

パブリック API を本当に使用できない場合 (実際にはパブリック API を使用する必要があります)、おそらく DataCache.RemoveCache(DataCache.PortalAliasCacheKey) を呼び出します。

6.2 以降、API はサービス フレームワークの内部管理ルートも処理します。サービス フレームワークの内部を処理するパブリック メソッドはないと思います。そのため、パブリック API を必ず使用する必要があるもう 1 つの理由です。

于 2012-10-13T02:12:33.587 に答える
0

言いたくないのですが、ダウンタイムをスケジュールしてリサイクルする必要があるように思えます。[ホスト] パネルから [キャッシュのクリア] を実行できますが、それで目的が達成されるかどうかはわかりません。

于 2012-10-11T19:33:29.913 に答える