OWIN Alter UseStatic?

时间:2013-09-30 01:09:55

标签: owin katana

OWIN AppBuilder" UseStatic" bits从本地文件系统传递文件,这在某些情况下很方便,但我想让它从内存IDictionary传递内容,这是我在应用程序启动时预先填充的。任何人都可以指出我的方向来调查压倒/改变行为吗?

感谢。

1 个答案:

答案 0 :(得分:2)

您需要实施自己的IFileSystemIFileInfo课程。可以在src/Microsoft.Owin.FileSystems/EmbeddedResourceFileSystem.cs下的CodePlex上的dev分支中看到此示例。这是基于this project的社区贡献。

一旦实施,您就会像这样使用它

public class InMemoryFileSystem : IFileSystem
{
    public InMemoryFileSystem(IDictionary<string, object> files)
    {}
}

var files = LoadFilesIntoDictionary();

app.UseStaticFiles(options => {
    options.WithFileSystem(new InMemoryFileSystem(files));
});