У меня есть эта форма в MVC View, которая должна получить пару номера и даты документа, чтобы показать его в отдельном окне предварительного просмотра на той же странице:
@using (Ajax.BeginForm("GetProtocollo", new AjaxOptions {
HttpMethod = "GET",
OnBegin = "GetProtocolloBegin",
OnSuccess = "GetProtocolloSuccess",
OnFailure = "GetProtocolloFailure",
UpdateTargetId = "AnteprimaDocumento"
}))
{ // code here }
Целевой элемент в простейшей форме
<div id="AnteprimaDocumento"></div>
Форма вызывает метод действия, который получает фактический файл PDF из службы WCF
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 секунд), и я не могу понять почему.
Спасибо,
Давида.