我通过c#WCF服务使用pdf Migradoc库在我的服务器上创建和保存pdf文档。文件管理将间歇性地失败并且WCF堆栈跟踪指示:
服务器在处理请求时遇到错误。异常消息是'重叠I / O操作正在进行中'。
在System.Windows的MS.Win32.HwndWrapper..ctor(Int32 classStyle,Int32 style,Int32 exStyle,Int32 x,Int32 y,Int32 width,Int32 height,String name,IntPtr parent,HwndWrapperHook [] hooks)。 System.Windows.Media.Visual..ctor(ResourceType resourceType)中的Threading.Dispatcher..ctor()位于System.Windows.Media.ContainerVisual..ctor(),位于PdfSharp.Drawing.XGraphics..ctor(DrawingContext dc,XSize)大小,XGraphicsUnit pageUnit,XPageDirection pageDirection)在MigraDoc.Rendering.PdfDocumentRenderer.PrepareDocumentRenderer的MigraDoc.Rendering.DocumentRenderer.PrepareDocument()(布局prepareCompletely),位于SARIService.DigAlertPDF.CreateReport(TicketReport TicketData)的MigraDoc.Rendering.PdfDocumentRenderer.RenderDocument()在SyncInvokeGetDAReportInfo(Object,Object []
的SARIService.ServiceDigAlert.GetDAReportInfo(String ID)
一旦发生错误,它将一直持续到服务器重新启动或文件保存尝试需要停止15-20分钟。知道这里发生了什么吗?
由于
答案 0 :(得分:1)
我怀疑只能有一个ContainerVisual
。两个线程同时渲染文档会导致此错误。
闲置约20分钟后,应用程序域将被销毁。下一个渲染请求将创建一个新的应用程序域,渲染将再次起作用。
你可以尝试的事情: