c# – OpenXml并且无法创建互斥锁
发布时间:2020-12-16 00:09:43 所属栏目:百科 来源:网络整理
导读:我试图通过openXml lib创建Excel文档,但是当我想从大量数据创建Excel时,我无法创建互斥锁. (来自HRESULT的异常:0x80131464)错误, 堆栈跟踪是: [IsolatedStorageException: Unable to create mutex. (Exception from HRESULT: 0x80131464)] System.IO.Isola
我试图通过openXml lib创建Excel文档,但是当我想从大量数据创建Excel时,我无法创建互斥锁. (来自HRESULT的异常:0x80131464)错误,
堆栈跟踪是: [IsolatedStorageException: Unable to create mutex. (Exception from HRESULT: 0x80131464)] System.IO.IsolatedStorage.IsolatedStorageFile.Open(String infoFile,String syncName) +0 System.IO.IsolatedStorage.IsolatedStorageFile.Lock(Boolean& locked) +370 System.IO.IsolatedStorage.IsolatedStorageFileStream..ctor(String path,FileMode mode,FileAccess access,FileShare share,Int32 bufferSize,IsolatedStorageFile isf) +468 System.IO.IsolatedStorage.IsolatedStorageFileStream..ctor(String path,IsolatedStorageFile isf) +35 MS.Internal.IO.Packaging.SafeIsolatedStorageFileStream..ctor(String path,ReliableIsolatedStorageFileFolder folder) +102 MS.Internal.IO.Packaging.PackagingUtilities.CreateUserScopedIsolatedStorageFileStreamWithRandomName(Int32 retryCount,String& fileName) +276 MS.Internal.IO.Packaging.SparseMemoryStream.EnsureIsolatedStoreStream() +31 MS.Internal.IO.Packaging.SparseMemoryStream.SwitchModeIfNecessary() +400 MS.Internal.IO.Packaging.CompressEmulationStream.Write(Byte[] buffer,Int32 offset,Int32 count) +76 MS.Internal.IO.Packaging.CompressStream.Write(Byte[] buffer,Int32 count) +431 MS.Internal.IO.Zip.ProgressiveCrcCalculatingStream.Write(Byte[] buffer,Int32 count) +177 MS.Internal.IO.Zip.ZipIOModeEnforcingStream.Write(Byte[] buffer,Int32 count) +130 System.Xml.XmlUtf8RawTextWriter.FlushBuffer() +7519035 System.Xml.XmlUtf8RawTextWriter.RawText(Char* pSrcBegin,Char* pSrcEnd) +232 System.Xml.XmlUtf8RawTextWriter.WriteStartElement(String prefix,String localName,String ns) +192 System.Xml.XmlWellFormedWriter.WriteStartElement(String prefix,String ns) +7517920 DocumentFormat.OpenXml.OpenXmlElement.WriteTo(XmlWriter xmlWriter) +283 DocumentFormat.OpenXml.OpenXmlCompositeElement.WriteContentTo(XmlWriter w) +114 DocumentFormat.OpenXml.OpenXmlElement.WriteTo(XmlWriter xmlWriter) +316 DocumentFormat.OpenXml.OpenXmlCompositeElement.WriteContentTo(XmlWriter w) +114 DocumentFormat.OpenXml.OpenXmlPartRootElement.WriteTo(XmlWriter xmlWriter) +404 DocumentFormat.OpenXml.OpenXmlPartRootElement.SaveToPart(OpenXmlPart openXmlPart) +217 DocumentFormat.OpenXml.Packaging.OpenXmlPackage.SavePartContents() +203 DocumentFormat.OpenXml.Packaging.OpenXmlPackage.Dispose(Boolean disposing) +32 DocumentFormat.OpenXml.Packaging.OpenXmlPackage.Dispose() +24 Yara.Evento.Utility.Office.Excel.Write.Do(List`1 objects,String sheetName,HeaderList headerNames) +2371 Yara.Evento.Management.Web.Controllers.TicketController.List(String button,Nullable`1 page,String startDate,String endDate,String ownerMail,String eventName,String mobile,String eMail,String ticketCode,Int32 sort,Boolean desc,Int32 eventId,Int32 status,Int32 variantId) +13628 lambda_method(Closure,ControllerBase,Object[] ) +864 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext,IDictionary`2 parameters) +264 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext,ActionDescriptor actionDescriptor,IDictionary`2 parameters) +39 System.Web.Mvc.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() +124 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter,ActionExecutingContext preContext,Func`1 continuation) +726390 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext,IList`1 filters,IDictionary`2 parameters) +309 System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext,String actionName) +726324 System.Web.Mvc.Controller.ExecuteCore() +159 System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +334 System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +62 System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +15 System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +52 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +606 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously) +288 解决方法
似乎将ApplicationPool的Identity更改为LocalSystem并不总是有助于我在Windows Server 2009 R2中的情况.奇怪的是,它已经工作了大约半年,因为我已经阅读了这个主题并修复了基于OpenXML的大型报告的问题,但几天前它就停止了工作.
经过一天的研究后,我发现另外在ApplicationPool的高级设置中将加载用户配置文件设置为True(默认值为False)并且没有问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |