我在MVC视图中有此表单,该表单应该获得一对文档的编号和日期,以便在同一页面上的单独预览窗口中显示该文档:
@using (Ajax.BeginForm("GetProtocollo", new AjaxOptions {
HttpMethod = "GET",
OnBegin = "GetProtocolloBegin",
OnSuccess = "GetProtocolloSuccess",
OnFailure = "GetProtocolloFailure",
UpdateTargetId = "AnteprimaDocumento"
}))
{ // code here }
目标元素采用最简单的形式
<div id="AnteprimaDocumento"></div>
表单调用一个操作方法,该方法从WCF服务获取实际的pdf文件
public FileStreamResult GetProtocollo(// params)
{
// check params
ProtocolReaderClient client = new ProtocolReaderClient();
var prot = client.GetProtocol(// params);
if(!prot.Error)
{
Stream memStream = new MemoryStream(prot.Document.RawContent);
return new FileStreamResult(memStream, "application/pdf");
}
// deal with errors
}
但这是我在预览窗口中看到的:
如何显示实际的PDF?
另一方面,尽管服务本身具有“正常”的响应时间(1-3秒,但超出了我的要求),但整个请求仍需要非常非常长的时间才能完成(大约90秒),而我不明白为什么。
谢谢, 戴维德。