ServiceSTack:CSV文件名

时间:2017-03-17 15:55:01

标签: servicestack

服务堆栈3 - 如何根据每个响应自定义?format = csv中附件的文件名?

我用谷歌搜索了这个,但唯一感兴趣的文章建议更换整个格式提供者,这似乎非常极端。

2 个答案:

答案 0 :(得分:2)

如果您想要自定义行为来替换只有几行代码的CsvFormat,那就不是极端了:

Plugins.RemoveAll(x => x is CsvFormat);

Plugins.Add(new MyCsvFormat());

默认情况下,返回的文件名将是请求DTO名称,但是您可以将其更改为使用您自己的自定义CsvFormat,您可以通过先删除预先注册的CsvFormat然后注册自己的CsvFormat来添加,例如:< / p>

{{1}}

答案 1 :(得分:1)

您还可以通过设置Request.OperationName在服务方法中设置文件名。像这样:

    public object Any(RequestWithFilename request)
    {
        ...

        if (!string.IsNullOrWhiteSpace(request.Filename))
            Request.OperationName = request.Filename;

        ...
    }