一.此文档已具有“DocumentElement”节点
解决方案1:删除目录下的asp_client文件夹。
2:http://friendship517.blog.163.com/blog/static/570512782010112110131415/
前些时候做dzNT的论坛整合,整合一切顺利。但是在网站运行中会不定期的出现“此文档已具有DocumentElement节点”,现在出现于服务器重启之后。官方的缓存机制确实设计的不错,尤其和memcached分布式缓存两者的完美结合,很方便以后论坛的分布式部署
不过遗憾的有两点
1、官方准备分离memcached,可惜缓存在设计时耦合度过高,现在分离了却产生了循环引用的尴尬境地
2、官方自身的缓存在创建内部XmlDocument的时候没有检验是否已经存在节点,使得很多用户莫名其妙的出现“此文档已具有DocumentElement节点” 的怪毛病。
既然这样我们要怎样来保证创建的是根节点呢?方法如下:
打开源文件 找到 Discuz.Cache程序集中 DNTCache.cs文件 在构造函数中
if (applyMemCached)
{
try
{
cs = memcachedStrategy = (ICacheStrategy)Activator.CreateInstance(Type.GetType("Discuz.EntLib.MemCachedStrategy, Discuz.EntLib", false, true));
}
catch
{
throw new Exception("请检查Discuz.EntLib.dll文件是否被放置在bin目录下并配置正确");
}
}
else
{
cs = new DefaultCacheStrategy();
//此处加入
if (rootXml.HasChildNodes)
{
rootXml.RemoveAll();
}
然后编译完成后,问题解决!!!
二.整合时出现“Discuz.Cache.CachesFileMonitor”的类型初始值设定项引发异常错误
解决方案:把config文件夹放在虚拟目录的根目录下面可解决此问题。或者修改DNT.config的节点配成:<Forumpath>/</Forumpath>就可以了,根据自己情况做。
三.“/”应用程序中的服务器错误:
请检查DNT.config中Dbtype节点数据库类型是否正确,例如:SqlServer、Access、MySql 解决方案:1、查看dnt.config 2、查看bin目录下是否有discuz.data.sqlprovider.dll,没有进行添加 3、如果以上都没问题,这就有点诡异了,不过看在这个dnt什么问题都可能出现的事实,也就释然了,试着重启下IIS。四.首页打开乱码:
重启IIS搞定。
五.无法识别的属性“type”。
配置你创建的虚拟目录的属性,在ASP.NET标签中,将ASP.NET版本改为2.0
六、未将对象引用设置到对象的实例:
1、config、DNT.config、Web.config放到根目录下,同时删除asp_client文件夹及其所有内容。
2.另外看下你的dnt.config文件<Forumpath>/bbs/</Forumpath>
七、今天终于把论坛的同步登录、注册、搞定了,调用的discuzTookit做的,比较简单,强烈推荐之,为这个同步登录、注册问题试了N多种方法,最后还是这个方法最好!
朋友们可以到这里看看,免得走弯路:http://club.sm160.com/showtopic-415544.aspx
url:http://www.cnblogs.com/netDream/archive/2010/05/28/discuz_question_solute.html
浙公网安备 33010602011771号