我希望你能帮助我。我在包含我们运行的应用程序的Web服务器上收到对象引用错误。
有人在本周重置了它并使用(大约)50个新更新更新了服务器。我知道。可怕。无论如何......从那时起我们就收到了这个错误。
>应用程序中的服务器错误。对象引用未设置为对象的实例。
异常详细信息:System.NullReferenceException:未将对象引用设置为对象的实例。
来源错误:
第36行:Hashtable items = mc.LanguageController.GetLanguageItems(ClientConfiguration.Language,languageItems);
第37行:XmlElement itemsElem = doc.CreateElement(“Lang”);
第38行:doc.DocumentElement.AppendChild(itemsElem);
源文件:c:\ inetpub \ wwwroot \ xxxxxxxx \ www \ App_Code \ Rendering \ Rendering.cs Line:36
堆栈追踪:
[NullReferenceException:对象引用未设置为对象的实例。]
Rendering.GetRootDocument(String [] languageItems,IMainController mc)in c:\ inetpub \ wwwroot \ xxxxxxxxxxxx \ www \ App_Code \ Rendering \ Rendering.cs:36
Rendering.GetDefaultDocument(IMainController mc)在c:\ inetpub \ wwwroot \ xxxxxxxxxxxx \ www \ App_Code \ Rendering \ Rendering.cs:53
_Default.Page_Load(Object sender,EventArgs e)位于c:\ inetpub \ wwwroot \ xxxxxxxxxxxx \ www \ Default.aspx.cs:31
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object o,Object t,EventArgs e)+14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,EventArgs e)+35
System.Web.UI.Control.OnLoad(EventArgs e)+99
System.Web.UI.Control.LoadRecursive()+50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)+627
版本信息:Microsoft .NET Framework版本:2.0.50727.4216; ASP.NET版本:2.0.50727.4223
我也检查了事件日志:
活动代码:3005
事件消息:发生了未处理的异常。
活动时间:29-3-2012 12:47:38
活动时间(UTC):29-3-2012 10:47:38
事件ID:69890cf8cf244b18a5adcbd29ae9a189
事件顺序:25
事件发生:8
活动详情代码:0
申请信息:
申请领域:/ LM / W3SVC / 2 / ROOT-3-129774906346518390
信任级别:完整
应用程序虚拟路径:/
申请路径:C:\ inetpub \ wwwroot \ xxxxxxxx \ www \
机器名称:WIN-PKNHIWTOENT
流程信息:
流程ID:4288
进程名称:w3wp.exe
帐户名称:NT AUTHORITY \ NETWORK SERVICE
异常信息:
异常类型:NullReferenceException
异常消息:未将对象引用设置为对象的实例。
请求信息:
请求网址:http://xxxxxxxx/default.aspx
请求路径:/default.aspx
用户主机地址:yyy.yyy.yyy.yyy
用户:
经过身份验证:错误
身份验证类型:
线程帐户名称:NT AUTHORITY \ NETWORK SERVICE
主题信息:
主题ID:8
线程帐户名称:NT AUTHORITY \ NETWORK SERVICE
模仿:错误
堆栈跟踪:在Rendering.GetRootDocument(String [] languageItems,IMainController mc)在c:\ inetpub \ wwwroot \ xxxxxxxxxxxx \ www \ App_Code \ Rendering \ Rendering.cs:第36行
at Rendering.GetDefaultDocument(IMainController mc)in c:\ inetpub \ wwwroot \ xxxxxxxxxxxx \ www \ App_Code \ Rendering \ Rendering.cs:第53行
at _Default.Page_Load(Object sender,EventArgs e)位于c:\ inetpub \ wwwroot \ xxxxxxxxxxxx \ www \ Default.aspx.cs:第31行
在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()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)
我怀疑它是languageItems变量,它是从另一个函数传递的:
public static XmlDocument GetOverviewDocument(IMainController mc){
string[] languageItems = { "usermanagement", "customermanagement", "ordermanagement", "ordermanagement LB", "systemmanagement", "qualitymanagement", "overview", "loggedinas", "logout", "Change password", "managementoverview" }; XmlDocument doc = GetRootDocument(languageItems, mc); return doc;
}
因为我不是像大多数人一样的ASP大师,所以我不知道这里发生了什么。是否与已安装的.NET更新有关,如果它与代码语法相关,或者在web.config中有一个简单的配置错误,我忽略了。
任何帮助都是最重要的,非常感谢。
答案 0 :(得分:0)
o,所以:
Line 36: Hashtable items = mc.LanguageController.GetLanguageItems(ClientConfiguration.Language, languageItems);
确定它是languageitems
变量吗?
因为我开始认为mc
可以null
或ClientConfiguration
(如果是属性)。