首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >System.Byte[]提供了意外的值

System.Byte[]提供了意外的值
EN

Stack Overflow用户
提问于 2016-08-01 19:48:45
回答 1查看 263关注 0票数 0

我在一台生产服务器上遇到了一个奇怪的问题。我们有一个架构,在这个架构中,我们使用web服务与.NET应用程序集成了AX。我们使用System.IO对象将pdf报告转换为字节,并通过web服务将此信息发送到应用程序。我们使用的方法运行良好,直到最近我们开始看到奇怪的结果。生产环境中返回的字节数组与其他环境不同。显然,代码库在所有环境中都是相同的。字节数组有一个很大的数字,大约是47000,其余的环境大约是3000。这会导致在app中生成报告时出现问题。

为了补充上面的内容,所讨论的报告是一个项目及其条形码的AX SSRS报告。在AX客户端中报告打印正常。但是为了将其传递给web服务,报告被转换为字节,并发送到应用程序,然后应用程序将其转换回图像并显示在UI上。由于生产过程中返回的字节数不同,打印的图像有项目编号,但没有条形码。显示空白,而不是条形码。我已经检查了SSRS服务器上是否安装了条形码字体,如果我直接在AX中打印报告,它可以正常打印。我知道架构本可以更简单,但这就是我目前所拥有的,需要让它工作。任何帮助都将不胜感激。谢谢。

代码语言:javascript
代码运行次数:0
运行
复制
static System.Byte[] test()
{
    str _filePath = "C:\\Users\\Harry\\Desktop\\ABC.PDF";

    System.Byte[]           pdfBuffer;
    System.IO.FileInfo      fileInfo;
    System.IO.FileStream    fs;
    int                     size;
    Set                     permissionSet = new Set(Types::Class);

    permissionSet.add(new FileIOPermission(_filePath,'r'));
    permissionSet.add(new InteropPermission(InteropKind::ClrInterop));

    CodeAccessPermission::assertMultiple(permissionSet);

    //Load the file
    fileInfo = new System.IO.FileInfo(_filePath);
    //Initiallize the byte array by setting the length of the file
    size = int642int(fileInfo.get_Length());
    pdfBuffer = new System.Byte[size]();
    // Stream the file
    fs = new System.IO.FileStream(fileInfo.get_FullName(), System.IO.FileMode::Open, System.IO.FileAccess::Read);
    fs.Read(pdfBuffer, 0, pdfBuffer.get_Length());
    fs.Close();
    fs.Dispose();

    //Revert the access
    CodeAccessPermission::revertAssert();

    return pdfBuffer;    
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-05 06:32:32

解决方案是在报告服务器上安装条形码字体,然后重新启动服务器。我们延迟了重新启动服务器的时间。要查找所需的字体,请在AX客户端中生成ssrs报告并将其导出为pdf。在Adobe阅读器中,您可以检查报告的属性,并在字体选项卡上查看所需的条形码。那是你的字体。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38698097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档