1

VirtualPathProvider を登録するとき、以前の VPP を引き続き機能させたいと考えています。私はこれが 2 つの方法で行われるのを見てきbaseました。これらの違いは何ですか。どちらが優先されますか?if base.FileExists(virtualPath)Previousif Previous.FileExists(virtualPath)

4

1 に答える 1

0

を に登録するVirtualPathProviderと、のメソッドにHostingEnvironment電流が提供されるようです。この初期化メソッドは、提供された VPP をフィールドに保存します。VirtualPathProviderInitializeVirtualPathProvider_previous

基本クラスによって提供される仮想メソッドは、次のようにVirtualPathProvider使用されます。_previous

public virtual bool FileExists(string virtualPath)
{
    return this._previous != null && this._previous.FileExists(virtualPath);
}

各メソッドは、 が評価されていることを確認してから_previous、関連する応答を提供します。がすべてのチェックを行うため、baseを呼び出すよりも を呼び出す方が安全なようです。Previousbasenull

于 2013-03-25T18:48:57.313 に答える