私は、本番サーバーの1つに奇妙な問題があります。私たちは、.NETアプリケーションとWebサービスを使ってAXを統合したアーキテクチャを持っています。 System.IOオブジェクトを使用して、pdfレポートをバイトに変換し、この情報をWebサービスを通じてアプリケーションに送信します。私たちが使っている方法は、最近まで奇妙な結果が出始めてからうまく機能しました。本番環境で返されるバイト配列は、他の環境とは異なります。コードベースは明らかにすべての環境で同じです。バイト配列には47000のような大きな数があり、残りの環境には約3000が割り当てられます。これはappでレポートを生成する際に問題を引き起こします。System.Byte []は予期しない値を返します
このレポートには、アイテムとそのバーコードのAXS SSRSレポートが記載されています。レポートはAXクライアントで正常に印刷されます。しかし、それをWebサービスに渡すために、レポートはバイトに変換され、アプリに送信されてから、イメージに変換されてUIに表示されます。プロダクションで返されるバイトの違いのため、印刷されるイメージには項目番号がありますが、バーコードはありません。バーコードの代わりに空白の空白が表示されます。 SSRSサーバーにバーコードフォントがインストールされていることを確認しましたが、AXでレポートを直接印刷すると問題なく印刷できます。私はアーキテクチャがもっとシンプルだったかも知れないが、私が現時点で持っているものであり、それを機能させる必要があることを知っている。どんな助けもありがとう。ありがとう。
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;
}
1.バーコードを生成するフォントが本稼働環境にないか、SSRSレンダラーが認識できない... PDFへのレンダリングがクライアントマシンで行われていますか?コード例では、共有ドライブではなく、 'C:\\ Users \\ Harry \\ Desktop \\ ABC.PDF'というファイルへのパスが表示されるため、可能です。 2.バーコードフォントを最近インストールした場合は、[マシンを再起動する]必要があります(http://axcalated.blogspot.com.es/2014/09/custom-barcode-and-micr-fonts-on-ssrs)。 html)。 3. [下のコメント](http://stackoverflow.com/questions/16318891/displaying-barcode-in-ssrs-report) –
を参照してください。4.サーバーでのレンダリングが不可能な場合は(1)バーコードフォントをインストールしてみてくださいクライアントマシン(&restart!)を実行して、レポートをもう一度PDFとしてレンダリングします。 –
こんにちはIan_socho。私たちはSSRSサーバーにフォントをインストールしていましたが、プロダクションサーバーとしてサーバーを再起動しませんでした。これが必要なのです!私たちはそれをし、それは働いた。バーコードフォントがSSRSサーバーにありませんでした。あなたのお返事ありがとうございました。 – Harry