0

Silverlightアプリケーションで ssrs レポートを生成していますが、 ssrs レポートRadPDFViewer control(telerik silverlight) に変換する必要があります。そのため、WCFを使用してpdfファイルをプロジェクトフォルダーに保存しています。ここで、ファイルを再度読み取り、Pdfviewerにバインドする必要があります。

保存は非同期で行われます。ファイルが保存されるまで待ってから、フォルダーから読み取るにはどうすればよいですか?

また、PDFをメモリストリームとして読み取る方法を教えてください。

次のコードの実行に失敗しました。

public byte[] ReturnPdf(string requestUrl) {
        HttpWebRequest req = null; var buf = new byte[1024];
        try
        {
                req = (HttpWebRequest)WebRequest.Create(requestUrl);

                req.Credentials = CredentialCache.DefaultCredentials;

                req.Method = "GET"; var objResponse = req.GetResponse();
                var stream = objResponse.GetResponseStream();
                if (stream != null){BinaryReader br = new BinaryReader(stream);
                        buf = br.ReadBytes(1024);
                } if
                (stream != null) stream.Close();

        }
        catch Exception e){}return buf;
}

private void button2_Click(object sender, EventArgs e)
{

        string baseUrl = "http://abc/ReportServer&rs:Command=Render&rs:ClearSession=true&rs:Format=PDF";

        const string nullString = ":isnull=true";


        byte[] o = ReturnPdf(baseUrl);

        byte[] bytes = new byte[1024];
        Stream s = new MemoryStream(bytes);

}
4

1 に答える 1

2

PDF ストリームの書き込み:

PDF ストリームを応答ストリームに書き込む

ファイルが完全に書き込まれたかどうかを確認できます。

ファイルが現在書き込まれているかどうかをテストする方法

またはこれが役立つかもしれません:

ファイルのロックを確認する方法は?

于 2012-06-15T19:46:56.397 に答える