Ram*_*Ram 27 asp.net iis excel
我刚刚创建了一个简单的应用程序并托管在IIS6.0中.在代码中我只是实例化excel对象.
using excel = Microsoft.Office.Interop.Excel.Application;
namespace TestHosting
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
excel excelObj=new Microsoft.Office.Interop.Excel.Application();
}
}
}
Run Code Online (Sandbox Code Playgroud)
它给了我以下错误
"Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied." (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).
Run Code Online (Sandbox Code Playgroud)
系统配置:
Windows server 2008,64位企业版. 服务包2
我尝试了在互联网上找到的许多可能的解决方案,但它们都没有为我工作.
我试过的一些解决方案如下
1)在路径"C:\ Windows\SysWOW64\config\systemprofile"下创建桌面应用程序2)在DCOMCNFG中为Microsfot.EXcelApplicaiton设置完全权限/控制3)在任务管理器中杀死所有excel实例
请帮助我这方面,这只是示例应用程序,但在我的原始应用程序主要是从/向Excel读取和写入数据.
bot*_*bot 42
更好的是转移到Open XML,或者您可以配置如下
Com +配置
3.在DCOM配置中更改Microsoft Excel Application的安全设置.
控制面板 - >管理工具 - >组件服务 - >计算机 - > myComputer - > DCOM配置 - > Microsoft Excel应用程序.
右键单击以获取属性对话框.转到"安全"选项卡并自定义权限
请参阅此处的帖子:创建Excel对象时出错,使用COM在WCF中进行Excel操作
Lui*_*gio 33
有时,您创建新的应用程序池,无法通过DCOMCNFG解决它.然后还有另一种方法:
将应用程序池的标识(模型名称)设置为LocalSystem.
我不知道根本原因,但它一次解决了我的问题.
授予IIS用户或组用户读/写权限
开始 -> 运行 -> inetmgr
为您的默认网站启用 ASP.NET 身份验证
3. 对于 64 位 (x64),创建此文件夹:C:\Windows\SysWOW64\config\systemprofile\Desktop
对于 32 位 (x86),创建此文件夹:C:\Windows\System32\config\systemprofile\Desktop
Windows 服务如果在系统配置文件下运行,则需要桌面文件夹。此文件夹是在 XP 和较旧的 Windows Server 版本上自动创建的,但在 Vista 和 Windows 2008 Server 上则不会。
就我个人而言,我运行了以下具体步骤:
\n* 安装互操作程序集:您可以从 Microsoft 网站安装https://www.microsoft.com/en-us/download/details.aspx?id=3508&tduid=(09cd06700e5e2553aa540650ec905f71 )(256380)(2459594)(TnL5HPStwNw-yuTjfb1FeDiXvvZxhh.RQ)()
\n* 检查程序集版本:检查开发和生产计算机上程序集的版本。程序集将位于 GAC 中,在 widows 7 中,此文件夹为 %windir%\\ assembly。
\n* 创建桌面文件夹:该服务使用系统配置文件下的桌面文件夹,因此您需要创建此文件夹(如果不存在),这里是该文件夹的位置:\n对于 64 位应用程序:C:\\Windows\\SysWOW64 \\config\\systemprofile\\Desktop\n对于 32 位应用程序:C:\\Windows\\System32\\config\\systemprofile\\Desktop
\n* 添加 DCOM 用户权限:
\n---启动运行窗口并输入“dcomcnfg”。
\n---展开组件服务 \xe2\x80\x93> 计算机 \xe2\x80\x93> 我的电脑 \xe2\x80\x93> DCOM 配置。
\n---查找 Microsoft Excel 应用程序。右键单击它并选择属性,然后选择安全选项卡。
\n---选择“启动和激活权限”和“访问权限”下的“自定义”单选按钮,然后单击两者的“编辑”按钮来添加用户,如下所示。
\n---------单击“添加”按钮和用户“IIS_IUSRS”和“NETWORK SERVICE”并授予他们完全权限。
\n---转到“身份”选项卡并选择“交互式用户”选项。
\n---单击应用并确定。
| 归档时间: |
|
| 查看次数: |
160164 次 |
| 最近记录: |