Asp.net mvc 3 在IsolatedStorage上初始化失败

Asp.net mvc 3 在IsolatedStorage上初始化失败,asp.net-mvc-3,isolatedstorage,epplus,Asp.net Mvc 3,Isolatedstorage,Epplus,我正在ASP.NET MVC 3应用程序中使用EPPlus 2.8.0.2库生成excel文件。此应用程序在Windows Server 2003 R2上的IIS 6上运行 令人不快的是: xlsdoc.GetAsByteArray xlsdoc是正确加载的ExcelPackage对象 生成小输出很好,但生成大输出会产生错误: System.IO.IsolatedStorage.IsolatedStorageException: Initialization failed. at Sys

我正在ASP.NET MVC 3应用程序中使用EPPlus 2.8.0.2库生成excel文件。此应用程序在Windows Server 2003 R2上的IIS 6上运行

令人不快的是:

xlsdoc.GetAsByteArray
xlsdoc是正确加载的ExcelPackage对象

生成小输出很好,但生成大输出会产生错误:

System.IO.IsolatedStorage.IsolatedStorageException: Initialization failed.
   at System.IO.IsolatedStorage.IsolatedStorageFile.Init(IsolatedStorageScope scope)
   at System.IO.IsolatedStorage.IsolatedStorageFile.GetStore(IsolatedStorageScope scope, Type domainEvidenceType, Type assemblyEvidenceType)
   at MS.Internal.IO.Packaging.PackagingUtilities.ReliableIsolatedStorageFileFolder.GetCurrentStore()
   at MS.Internal.IO.Packaging.PackagingUtilities.ReliableIsolatedStorageFileFolder..ctor()
   at MS.Internal.IO.Packaging.PackagingUtilities.GetDefaultIsolatedStorageFile()
   at MS.Internal.IO.Packaging.PackagingUtilities.CreateUserScopedIsolatedStorageFileStreamWithRandomName(Int32 retryCount, String& fileName)
   at MS.Internal.IO.Packaging.SparseMemoryStream.SwitchModeIfNecessary()
   at MS.Internal.IO.Packaging.SparseMemoryStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at MS.Internal.IO.Packaging.CompressEmulationStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at MS.Internal.IO.Packaging.CompressStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at MS.Internal.IO.Zip.ProgressiveCrcCalculatingStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at MS.Internal.IO.Zip.ZipIOModeEnforcingStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
   at System.IO.StreamWriter.Write(String value)
   at System.IO.TextWriter.Write(String format, Object arg0)
   at OfficeOpenXml.ExcelWorksheet.UpdateRowCellData(StreamWriter sw)
   at OfficeOpenXml.ExcelWorksheet.SaveXml()
   at OfficeOpenXml.ExcelWorksheet.Save()
   at OfficeOpenXml.ExcelWorkbook.Save()
   at OfficeOpenXml.ExcelPackage.GetAsByteArray(Boolean save)
   at OfficeOpenXml.ExcelPackage.GetAsByteArray()
   at ReportCenterLib.ReportGenerator.GenerateStream(DataTable result, String reporttitle, String inputparmstr, String conndescs, String username, String outputtype, String templatefile) in D:\PROJECTS\reportcentermvc\sources\ReportCenterLib\ReportGenerator.vb:line 450
   at ReportCenterMVC.ReportCenterMVC.ReportController.Generate(Int64 id, IList`1 conns, IDictionary`2 parms, String outputtype) in D:\PROJECTS\reportcentermvc\sources\ReportCenterMVC\Controllers\ReportController.vb:line 218
我怀疑EPPlus试图使用IsolatedStorage创建临时文件,但没有写入IsolatedStorage的权限。我已将应用程序池标识更改为“本地系统”,错误消失

如何在使用“网络服务”标识时避免此错误?

。他得到的错误(拒绝访问)与我得到的错误不同,但他的解决方案对我有效:

  • 在服务器上
    C:\Documents and Settings\Default User\Local Settings\Application Data\IsolatedStorage创建文件夹
  • 授予每个人对该文件夹的写入权限
此处讨论:

摘录:

在以下路径“C:\Documents and Settings\Default User\Local Settings\Application Data”创建名为IsolatedStorage的文件夹,并授予IIS_WPG修改和写入的权限。这解决了windows server 2003上的问题


相关问题和更多信息,供任何其他人发现:链接于2014-08-05死亡