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);
}