在c#.net web应用程序中上传excel文件会导致错误

时间:2013-03-13 07:20:42

标签: c# .net iis-7

我的.net网络应用程序有一个上传excel文件的选项,该文件有大约1k个产品条目,当我在localhost上运行应用程序时上传工作正常,但是当它在iis7和amp上托管时会导致以下错误;由网络上的其他计算机访问..

错误

  

由于以下错误,检索CLSID为{00024500-0000-0000-C000-000000000046}的组件的COM类工厂失败:80070005拒绝访问。 (HRESULT异常:0x80070005(E_ACCESSDENIED))。

     

异常详细信息:System.UnauthorizedAccessException:由于以下错误,检索具有CLSID {00024500-0000-0000-C000-000000000046}的组件的COM类工厂失败:80070005拒绝访问。 (来自HRESULT的异常:0x80070005(E_ACCESSDENIED))。

我googld它,并发现一些谈论32位或64位操作系统。

感谢。

3 个答案:

答案 0 :(得分:2)

您应该避免在服务器应用程序for the reasons described in this KB article中使用Excel Interop。

相反,请考虑使用第三方产品来操作Excel文档,例如EPPlus (Excel 2007+)Aspose CellsSpreadsheetGear

可能您的ASP.NET应用程序在没有配置文件的帐户下运行。

答案 1 :(得分:1)

确保上传文件夹已获得完全权限,以便从其他计算机上传。首先,给予每个人许可。然后,您可以将其限制为仅限IIS用户。

答案 2 :(得分:1)

听起来,当你在服务器上实现你的应用程序时,你的开发机器上没有安装你的应用程序。无论您使用什么内容,如果它是第三方上传控件,您可能不会分发该文件。

另一种可能性是,安装应用程序的服务器是64位计算机,而您使用的上载控制仅用于32位。您可能希望将IIS 7的服务器设置为32位。

http://www.depotsystems.com/ds_mobile_webhelp/webhelp/index.htm#page=Enabling_32_bit_mode.htm

相关问题