小编kpk*_*pko的帖子

修改静态文件内容

当我使用 Microsoft.Owin.StaticFiles 时,如何在将响应发送到客户端之前修改响应?

        FileServerOptions options = new FileServerOptions();
        options.FileSystem = new Microsoft.Owin.FileSystems.PhysicalFileSystem(Path.Combine(Environment.CurrentDirectory, "Content/"));
        options.DefaultFilesOptions.DefaultFileNames = new string[] { "index.htm", "index.html" };
        options.StaticFileOptions.OnPrepareResponse = (r) =>
        {
            r.OwinContext.Response.WriteAsync("test");
        };
        options.EnableDefaultFiles = true;
        app.UseFileServer(options);
Run Code Online (Sandbox Code Playgroud)

“测试”永远不会写入响应。我尝试使用另一个中间件,直到执行 StaticFiles 中间件:

        app.Use((ctx, next) =>
        {
            return next().ContinueWith(task =>
            {
                return ctx.Response.WriteAsync("Hello World!");
            });
        });

        FileServerOptions options = new FileServerOptions();
        options.FileSystem = new Microsoft.Owin.FileSystems.PhysicalFileSystem(Path.Combine(Environment.CurrentDirectory, "Content/"));
        options.DefaultFilesOptions.DefaultFileNames = new string[] { "index.htm", "index.html" };
        options.EnableDefaultFiles = true;
        app.UseFileServer(options);
Run Code Online (Sandbox Code Playgroud)

但这没有用。如何修改响应?

asp.net owin katana

4
推荐指数
1
解决办法
1485
查看次数

标签 统计

asp.net ×1

katana ×1

owin ×1