【发布时间】:2011-02-08 21:15:42
【问题描述】:
我有一个使用 ASP.NET 编写的网站。我们有一台开发机器和一台部署服务器。
该站点在开发机器上运行良好,但传输时(使用简单的 FTP 上传)会产生奇怪的行为。它开始工作得很好,但一段时间后停止工作并抛出异常“异常:对象引用未设置为对象的实例。”。
交易是开发机器上网站的绝对路径与部署服务器上的不同(为什么它们应该相似?),确切的错误是:
异常:对象引用未设置为对象的实例。 在 C:\inetpub\wwwroot\SOMEPROJECTSolution\ALLPROJECT\SOMEPROJECT_Objects\Player.cs:SOMEPROJECT_GameLayer.M_Game.PlayerActiveGame(Int32 PlayerID) 在 C:\inetpub\wwwroot\SOMEPROJECTSolution 中的 SOMEPROJECT_Objects.Player..ctor(Int32 PlayerID) 的第 123 行\ALLPROJECT\SOMEPROJECT_GameLayer\M_Game.cs:C:\inetpub\wwwroot\SOMEPROJECTSolution\ALLPROJECT\SOMEPROJECT-sms\Web\getsms.aspx.cs:第 59 行中 Web.getsms.Page_Load(Object sender, EventArgs e) 的第 85 行
它正在寻找的地址是 DEVELOPMENT 机器上的地址,因为该站点现在驻留在部署服务器上。
任何想法为什么会发生这种情况将不胜感激。
谢谢, 罗马
【问题讨论】:
-
粘贴相关代码... Player.cs 第 123 行及其周围有什么?该路径仅来自调试符号。你需要弄清楚什么对象是空的,而这只能通过代码来完成。
-
代码只是一个 datareader.read() [一个 SQLDataReader 对象],我无法通过它——因为它被编译到机器上。 (我们将其“发布”到机器上)。当它使用 VS 调试时 - 它工作得很好。
-
好的,那么您的 DataReader 为空。您没有从您期望的数据库中提取数据。您确定您的数据库环境和配置设置已在生产环境中设置并正确吗?
标签: asp.net exception object reference