首页 新闻 搜索 专区 学院

C# IIS 调用office COM组件 求助

0
悬赏园豆:100 [已关闭问题] 关闭于 2013-12-18 17:48

//执行到这里程序就终止了。在vs的调试模式或自带的web服务器上运行正常,移植到iis中就无法得到正常执行了。
        PPT.ApplicationClass ppta = new Microsoft.Office.Interop.PowerPoint.ApplicationClass();

 

提示错误信息:未将对象引用设置到对象的实例

Dcom 下的权限我已经设置过了, 还是不行。

在线等待

下面系统日志的错误信息

事件类型: 警告
事件来源: ASP.NET 2.0.50727.0
事件种类: Web 事件
事件 ID: 1309
日期:  2013-4-17
事件:  16:36:01
用户:  N/A
计算机: ZWCN2K5-4785
描述:
事件代码: 3005
事件消息: 发生了未处理的异常。
事件时间: 2013-4-17 16:36:01
事件时间(UTC): 2013-4-17 8:36:01
事件 ID: a59af90951ea4756b404882bcaaa1035
事件序列: 4
事件匹配项: 1
事件详细信息代码: 0
 
应用程序信息:
    应用程序域: /LM/W3SVC/824546/Root-3-130106613602910000
    信任级别: Full
    应用程序虚拟路径: /
    应用程序路径: D:\PSR\PSR\WEB\
    计算机名: ZWCN2K5-4785
 
进程信息:
    进程 ID: 1800
    进程名: w3wp.exe
    帐户名: NT AUTHORITY\LOCAL SERVICE
 
异常信息:
    异常类型: NullReferenceException
    异常消息: 未将对象引用设置到对象的实例。
 
请求信息:
    请求 URL: http://psr-en.bizprointernational.com/Users/LoadPPT.aspx?userId=78cb0d9b-b6af-4264-9fd6-c1586e606ec4&courseId=c3149607-ec1b-4412-b609-0483e46cf9eb
    请求路径: /Users/LoadPPT.aspx
    用户主机地址: 210.22.177.130
    用户: 
    是否已经过身份验证: False
    身份验证类型: 
    线程帐户名: NT AUTHORITY\LOCAL SERVICE
 
线程信息:
    线程 ID: 6
    线程帐户名: NT AUTHORITY\LOCAL SERVICE
    是否正在模拟: False
    堆栈跟踪:    在 BizPro.SMART.DSM.Common.CompilePPT.CreatePPT(String path, Guid courseId, Guid userId) 位置 H:\Project 2012.01.09\SMART-DSM-English\BizPro.SMART.DSM\BizPro.SMART.DSM.Common\CompilePPT.cs:行号 203
   在 BizPro.SMART.DSM.Web.Users.LoadPPT.Page_Load(Object sender, EventArgs e) 位置 D:\Projects\SMART-DSM AS PSR EN\BizPro.SMART.DSM.Web\Users\LoadPPT.aspx.cs:行号 18
   在 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
   在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
   在 System.Web.UI.Control.OnLoad(EventArgs e)
   在 System.Web.UI.Control.LoadRecursive()
   在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Peter.gao的主页 Peter.gao | 初学一级 | 园豆:65
提问于:2013-06-03 17:33
< >
分享
所有回答(5)
0

C#调用office,建议使用第三方类库,不然很容易出现莫名其妙的问题,很难搞定的.

比如:npoi,就很不错

肥猫侠 | 园豆:152 (初学一级) | 2013-06-03 18:00

npoi 支持 ppt 吗?npoi 只支持 excel。

支持(0) 反对(0) geass.. | 园豆:1701 (小虾三级) | 2013-06-04 10:06

@geass..: npoi 只支持 excel,Aspose.powerpoint可以考虑这个,不过要破解

支持(0) 反对(0) 肥猫侠 | 园豆:152 (初学一级) | 2013-06-04 11:03
0

我最近也是碰见这个问题,开发机正常,放到服务器iis上就调用组件出错了,aspose没有ppt破的

 

 

 

 

huazai_zai | 园豆:15 (初学一级) | 2013-06-05 00:30
0

应当避免在IIS上产生新的application进程,这些进程很可能不会正常运行,建议通过放置到后台服务里运行,通过其他机制通知服务运行

Zux | 园豆:495 (菜鸟二级) | 2013-06-05 10:23
0

问题解决了吗?我也遇到同样的问题

静(lion) | 园豆:169 (初学一级) | 2013-06-27 18:00
0

权限指定到用户,交互式用户依旧访问有问题

配置文件加入

:<identity impersonate="true" userName="***" password="***"/>,

Peter.gao | 园豆:65 (初学一级) | 2013-12-18 17:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册