这个问题以前已经被问过了,我花了两天时间仔细研究,但都没有结果。我从一开始就在DNN内部和周围工作(有人还记得20年前的IBuySpy门户吗?),我已经迁移了十几个站点,都没有问题。但在本例中,我得到了旧的"object reference not set to...“EventLog指示InitializePage中存在错误,但没有更多信息。由于某些原因,DNN _default文件夹中的日志未填充;我将对此进行检查。
细节: DNN 5.03.01站点,多年来一直为客户工作良好。需要移动到新的服务器。不同的域名进行测试,我们将重定向活动域名。站点的默认门户位于Portals/0 (不再使用);客户端的门户位于Portals/1。数据库位于同一计算机MS SQL Server上。
我做了什么:在旧的,实时的站点中创建了一个门户别名来反映“测试”域名。已复制所有文件系统内容。将模式复制到新数据库(相同版本的MS SQL Server),使用模式比较以确保其工作,添加所有数据,使用数据比较以确保它们都在那里。使用SMSS登录到新数据库;工作正常。在新的/test DB上,禁用了WebServers表中的所有条目。已验证是否存在新的门户别名,引用Portals/1。已验证域名是否使用正确的新IP。使用该IP在IIS上设置新站点,引用门户/1。使用与Web.config一起工作的凭据编辑Web.config中的连接字符串和应用程序设置条目。已通过输入新/test域名运行新站点。我还广泛地设置了DNN文件夹的权限。
Got:新域name/Default.aspx?error=Object+reference+not+set+to+an+instance+of+an+object.&content=0
所以我打开了新服务器上的DNN文件夹,但PortalSettings似乎有些不对劲(我猜是这样的)。也许它会转到Portal 0(已不存在的那个)。如果我在迁移前创建新的PortalAlias,应该不会发生这种情况。
可能的复杂因素:新服务器包含DNN的另一个完整实例,该实例处理旧机器上的Portals/0门户的实时版本(副本)。
有人有什么想法吗?我忽略了什么吗?我如何才能绝对确定我正在命中数据库?
发布于 2020-01-01 21:48:22
在DNN的旧版本中,DefaultPortalAlias的值是PortalSetting。如果将其设置为不同的值,您可能会看到类似的行为。
此外,该版本的DNN不会将条目记录到/portals/_default/logs目录
https://stackoverflow.com/questions/59547168
复制相似问题