调试通过的解决方案部署到生产服务器出现错误—未将对象引用设置到对象的实例...

今天将一个在测试环境中测试通过的WSP解决方案部署到生产环境时出现如下错误:

Event code: 3005 
Event message: 发生了未处理的异常。
Event time: 2012/3/5 15:11:36
Event time (UTC): 2012/3/5 7:11:36
Event ID: 53e61463a2404804abd431d6c573ebd7
Event sequence: 75
Event occurrence: 1
Event detail code: 0

Application information:
Application domain: /LM/W3SVC/1082957370/ROOT-1-129754049971294831
Trust level: WSS_Minimal
Application Virtual Path: /
Application Path: C:\inetpub\wwwroot\wss\VirtualDirectories\80\
Machine name: XXXX

Process information:
Process ID: 5832
Process name: w3wp.exe
Account name: User2

Exception information:
Exception type: NullReferenceException
Exception message: 未将对象引用设置到对象的实例。

Request information:
Request URL: http://XXXX/_layouts/XXXX.aspx?para=XX&IsDlg=1
Request path: /_layouts/XXXX.aspx
User host address: ***.***.***.***
User: User1
Is authenticated: True
Authentication Type: Negotiate
Thread account name: User2

Thread information:
Thread ID: 10
Thread account name: User2
Is impersonating: True
Stack trace: 在 Microsoft.Office.Server.WebControls.MetaDataNavTree.OnUnload(EventArgs e)
在 System.Web.UI.Control.UnloadRecursive(Boolean dispose)
在 System.Web.UI.Control.UnloadRecursive(Boolean dispose)
在 System.Web.UI.Control.UnloadRecursive(Boolean dispose)
在 System.Web.UI.Control.UnloadRecursive(Boolean dispose)
在 System.Web.UI.Control.UnloadRecursive(Boolean dispose)
在 System.Web.UI.Control.UnloadRecursive(Boolean dispose)
在 System.Web.UI.Control.UnloadRecursive(Boolean dispose)
在 System.Web.UI.Control.UnloadRecursive(Boolean dispose)
在 System.Web.UI.Control.UnloadRecursive(Boolean dispose)
在 System.Web.UI.Page.UnloadRecursive(Boolean dispose)
在 System.Web.UI.Page.ProcessRequestCleanup()
在 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
在 System.Web.UI.Page.ProcessRequest()
在 System.Web.UI.Page.ProcessRequest(HttpContext context)
在 ASP._layouts_hrmuserprofilemanagementwebpart_empinfomation_aspx.ProcessRequest(HttpContext context)
在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)


Custom event details:

首先测试环境和生产环境站点结构一模一样,只是服务器场管理员,网站管理员等不同,另外此WSP解决方案里面有提升权限的代码,生产环境中User1为普通用户,User2为应用程序管理员,User3为该生产环境的服务器场管理员,并且可以确定不是代码发生的错误,由此可判断发生此错误定为用户权限的问题。

从错误信息中可以看出,本来是User1发出的请求,但是经权限提升后进程是有User2在运行,则证明是User2权限不足,因为所有提升权限的代码必须是场管理员来运行,所以User2必须要为场管理员中的一员。

现在就很清楚了,只要把User2加入到生产环境的场管理员里面,然后重启一下IIS,就可以解决上述的问题了。

转载于:https://www.cnblogs.com/leolis/archive/2012/03/05/2380670.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值