Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery MVC文件流多个调用_Jquery_Asp.net Mvc_Pdf_Embed_Filestreamresult - Fatal编程技术网

Jquery MVC文件流多个调用

Jquery MVC文件流多个调用,jquery,asp.net-mvc,pdf,embed,filestreamresult,Jquery,Asp.net Mvc,Pdf,Embed,Filestreamresult,我有一个FileStreamResult操作,它使用iTextSharp打开一个PDF文档(CAD绘图),在上面标记我们公司的信息,然后将其传递到内存流以返回 在这个方法中,我有一个审计方法,它通过实体框架将事务记录到SQL中。当我调用该操作时,我得到三个数据库事务。调试时,应用程序会三次点击SQL记录函数 有人能帮我理解为什么吗?这与路由有关吗 EDIT我做了一些进一步的测试,发现当我直接访问浏览器时,它只调用该方法一次。我正在使用jQuery和.PDFObject(www.PDFObject

我有一个FileStreamResult操作,它使用iTextSharp打开一个PDF文档(CAD绘图),在上面标记我们公司的信息,然后将其传递到内存流以返回

在这个方法中,我有一个审计方法,它通过实体框架将事务记录到SQL中。当我调用该操作时,我得到三个数据库事务。调试时,应用程序会三次点击SQL记录函数

有人能帮我理解为什么吗?这与路由有关吗

EDIT我做了一些进一步的测试,发现当我直接访问浏览器时,它只调用该方法一次。我正在使用jQuery和.PDFObject(www.PDFObject.com)在另一个视图中呈现PDF。这个jQuery方法调用MVC方法三次。我还在调查

public class DrawingsController : BaseController
{
    static BaseFont ...

    public FileStreamResult Index(string WOBase, string WOSub)
    {
        //Get associated drawing by work order
        WorkOrders WO = db.WorkOrders
            .Where(wo => wo.DRAWING_FILE != null && wo.BASE_ID == WOBase && wo.SUB_ID == WOSub)
            .FirstOrDefault();

        if (!string.IsNullOrEmpty(WO.DRAWING_FILE))
        {
            //The following records the transaction history (x3)
             BaseController.RecordNavigation(_employee.ID, "Print", WO.Drawing_URL);

            string readerURL = modifyPathToURL(WO.DRAWING_FILE);

            Response.Clear();
            MemoryStream ms = new MemoryStream();
            PdfReader reader = new PdfReader(readerURL);

            PdfStamper stamper = new PdfStamper(reader, ms);
            for (int i = 1; i <= reader.NumberOfPages; ++i)
            {
                var stamperOverContent = stamper.GetOverContent(i);
                //Stamp information on document  
                ...
                stamperOverContent.EndText();
                stamperOverContent.RestoreState();
            }

            stamper.Writer.CloseStream = false;
            stamper.Close();

            byte[] byteinfo = ms.ToArray();
            ms.Write(byteinfo, 0, byteinfo.Length);
            ms.Position = 0;
            ms.Seek(0, SeekOrigin.Begin);

            return new FileStreamResult(ms, "application/pdf");
        }
        return null;
    }
公共类DrawingController:BaseController
{
静态基本字体。。。
公共文件流结果索引(字符串WOBase、字符串WOSub)
{
//按工单获取关联图纸
工单WO=db.WO工单
.Where(wo=>wo.DRAWING\u FILE!=null&&wo.BASE\u ID==WOBase&&wo.SUB\u ID==WOSub)
.FirstOrDefault();
如果(!string.IsNullOrEmpty(WO.DRAWING_文件))
{
//以下记录了事务历史记录(x3)
BaseController.RecordNavigation(_employee.ID,“Print”,WO.Drawing\u URL);
字符串readerURL=modifyPathToURL(WO.DRAWING_文件);
Response.Clear();
MemoryStream ms=新的MemoryStream();
PdfReader reader=新PdfReader(readerURL);
PdfStamper压模=新PdfStamper(读卡器,毫秒);

对于(int i=1;i进一步调查后,我发现问题出在Internet Explorer上。
我在GitHub()上研究了PDFObject,它指向了一篇Microsoft支持文章(),题为“检索插件服务内容时发送三个GET请求”