找回密码
 立即注册

QQ登录

只需一步,快速开始

hexllo

金牌服务用户

21

主题

56

帖子

175

积分

金牌服务用户

积分
175
hexllo
金牌服务用户   /  发表于:2021-4-25 10:27  /   查看:7456  /  回复:26
1金币
本帖最后由 Crystal.Li 于 2021-4-25 11:05 编辑

我们使用的是15版本,
在生产环境部署了2台服务器作负载,
导出的时候有时报404,
我们的存储是使用S3,但生成的供导出用的临时下载文件却没生成到S3上,
app.UseReporting(settings =>
            {
                settings.UseCustomStore(midwareFuncs.GetTemplateMetadataFunc);
                settings.LocateDataSource = midwareFuncs.LocateDataSourceFunc;
            });


请问这种临时文件是存放在哪里的,是内存吗,有没有办法改写他的存储位置,谢谢!

最佳答案

查看完整内容

您好,研发团队耗费了大量的时间和人力来排查该问题,最终发现print接口没有cookie是因为print请求是从iframe中发出的,在打印报表时,会显示”准备打印中...“ 的对话框,从这里发出的请求是从iframe中发出,由于浏览器安全策略,会限制发送cookie。 解决方案:您可以移除掉产品自带的打印按钮,添加自定义导出的按钮,通过以下代码可以移除自带导出按钮:

26 个回复

倒序浏览
最佳答案
最佳答案
Crystal.Li讲师达人认证 悬赏达人认证
论坛元老   /  发表于:2021-4-25 10:27:48
来自 27#
您好,研发团队耗费了大量的时间和人力来排查该问题,最终发现print接口没有cookie是因为print请求是从iframe中发出的,在打印报表时,会显示”准备打印中...“ 的对话框,从这里发出的请求是从iframe中发出,由于浏览器安全策略,会限制发送cookie。
解决方案:您可以移除掉产品自带的打印按钮,添加自定义导出的按钮,通过以下代码可以移除自带导出按钮:
  1. viewer = GrapeCity.ActiveReports.JSViewer.create({
  2.   element: '#viewerContainer'
  3. });
  4. viewer.toolbar.desktop.removeItem("$print");
复制代码


回复 使用道具 举报
Crystal.Li讲师达人认证 悬赏达人认证
论坛元老   /  发表于:2021-4-25 11:07:22
2#
您好,我们报表导出是客户端发起请求,服务端生成,再返回给客户端。
您需要这个文件是做什么用途呢?
回复 使用道具 举报
hexllo
金牌服务用户   /  发表于:2021-4-25 17:52:39
3#
主要是用来导出,因为在2台服务器部署了ActiveReports15,
所以导出的时候可能请求发到A服务器上,但导出生成的临时文件可能在B服务器上,所以不能正常导出
回复 使用道具 举报
Crystal.Li讲师达人认证 悬赏达人认证
论坛元老   /  发表于:2021-4-25 18:10:45
4#
hexllo 发表于 2021-4-25 17:52
主要是用来导出,因为在2台服务器部署了ActiveReports15,
所以导出的时候可能请求发到A服务器上,但导出生 ...

您是导出任何类型的文件都是会报错吗?
我们保存的时候会生成临时文件,导出时应该没有临时文件。您导出失败的时候打个断点看一下,看导出时具体的地址是什么?具体报什么错
回复 使用道具 举报
hexllo
金牌服务用户   /  发表于:2021-4-26 09:57:50
5#
是的,任何文件都是,时不时报404,
我理解流程是这样的,整个流程分为2次请求:
1,请求api/reporting/session/-2sF7P4-eUCJPA8oEi1NVA/export/xls返回一个导出ID
{"exportId":"XI-U9cJo8EKFlzx2-YCiGQ"}

2,根据该 ID去服务器取文件api/reporting/export/XI-U9cJo8EKFlzx2-YCiGQ

如果第一次请求发到A服务器,生成了一个文件并返回ID,第二次请求发到了B服务器,找不到该ID对应的文件,所以就404了
回复 使用道具 举报
Crystal.Li讲师达人认证 悬赏达人认证
论坛元老   /  发表于:2021-4-26 11:01:34
6#
您好,这个问题我们现在了解了。我们需要找研发同事调查一下该问题,看是否有什么好的解决方案,还请您耐心等待一下,有结果第一时间回复您!
回复 使用道具 举报
zhaorong
金牌服务用户   /  发表于:2021-5-10 12:04:38
7#
这个问题处理的怎么样了?什么时候能好?
回复 使用道具 举报
Crystal.Li讲师达人认证 悬赏达人认证
论坛元老   /  发表于:2021-5-10 13:39:35
8#
您好,这个我们向开发同事确认了,这个属于您服务器配置的问题,负载均衡需要配置粘性会话。您可以参考aws的文档:
https://docs.aws.amazon.com/zh_c ... ticky-sessions.html
回复 使用道具 举报
zhaorong
金牌服务用户   /  发表于:2021-5-10 16:11:35
9#
跟运维同事确认了是粘性会话

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部