2017-02-22 7 views
1

OwinにwebApiと静的ファイルサーバーを設定して、アプリケーションで必要なファイルを取得しました。OWIN自己静的ファイルサーバー複数のルート

public void Configuration(IAppBuilder application) 
{ 
    //Other middlewares and configurations 
    .... 
    application.UseFileServer(new FileServerOptions() 
    { 
     RequestPath = new PathString("/myPath1/public"), 
     FileSystem = new PhysicalFileSystem(m_FolderPathProvider.myPath1FolderPublic) 
    }); 

     // Attribute routing. 
      ..... 
} 

これは魅力的です。別のパスと別の物理フォルダのために別のFileServerを宣言する必要があります。私が恐ろしいのは、私がこれをやり直すのと同じようにすれば、私はこれを上書きし、私はただ一つしか持たないということです。では、どのようにして2番目のファイルサーバーを宣言できますか?

ありがとうございます。

答えて

2

AFAICTを使用すると、すでに使用しているのと同じオーバーロードを使用して、異なるルートに異なるFileSystemパスを「マウント」することができます。

public void Configuration(IAppBuilder application) 
{ 
    //Other middlewares and configurations 
    .... 
    application.UseFileServer(new FileServerOptions() 
    { 
     RequestPath = new PathString("/myPath1/public"), 
     FileSystem = new PhysicalFileSystem(m_FolderPathProvider.myPath1FolderPublic) 
    }); 

    application.UseFileServer(new FileServerOptions() 
    { 
     RequestPath = new PathString("/myPath2/public"), 
     FileSystem = new PhysicalFileSystem(m_FolderPathProvider.myPath2FolderPublic) 
    }); 

     // Attribute routing. 
      ..... 
} 

あなたがそれらをマージしたい場合は、私はそれがUseFileServerで可能だとは思いません。

何か不足していますか?

+0

いいえ、あなたは何かを見逃していない、私の質問はかなりばかげて聞こえるが、私はこのアプローチを試み、働いていない。私はこれを別の孤立したソリューションで試して正常に動作しているので、私の一般的な解決策に関するものでなければなりません。ありがとうございます:) – acostela

関連する問題