我正在我的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);
}