风讯官方论坛

首页 » FoosunCMS交流区 » dotNETCMS安装使用 » 感觉dotdotNetCMS添加新闻有几个不足
lazy - 2008-5-11 23:39:00
1、新闻编号与文件名可能不匹配
            #region 得到当前新闻的上一条记录自动编号ID
            int _IDStr = 0;
            DataTable dts = rd.getTopNewsId(getDataLibStr);
            if (dts != null && dts.Rows.Count > 0)
            {
                _IDStr = int.Parse(dts.Rows[0]["Id"].ToString());
                dts.Clear(); dts.Dispose();
            }
            else
            {
                _IDStr = int.Parse(Foosun.Common.Rand.Number(8));
            }
            #endregion 结束
    后面用 _IDStr +1的方法生成当前新闻文件名,如果是多人同时添加新闻,可能会存在不匹配的时候。但这个问题不是太大。
2、在新闻被添加到数据库前,要经过图片获取,新闻分页,静态生成等步骤,会比较慢,而且万一其中出现错误,导致整条新闻无法保存。我觉得应该先把新闻数据保存,然后再执行其他操作,最后update一遍相关字段。
3、类似第二条的问题,在某些较大型的网站,可能初期会有很多人同时更新内容,如果每添加一条都要马上经历图片获取,新闻分页,静态生成等步骤,效率会比较低,所以应该有类似发布管理的功能,批量执行新闻的后期操作。
womode - 2008-5-12 09:34:00
先将数据保存了再执行其他的操作??那这样的话,错误的信息不也就保存了吗?
womode - 2008-5-12 09:35:00
:default6:
wjcreator - 2008-5-12 10:17:00
这个建议不错
一水先生 - 2008-5-12 10:30:00
思路正解!
wjcreator - 2008-5-12 13:45:00
同意楼上所说的
lazy - 2008-5-12 23:27:00


引用:
原帖由 womode 于 2008-5-12 09:34:00 发表
先将数据保存了再执行其他的操作??那这样的话,错误的信息不也就保存了吗?


你没看清楚,我说的是几个额外操作。表单数据的正确和完整性当然应该先验证,才能入库。
jxspace - 2008-5-13 20:39:00
感谢建议,现已收录此建议,官方会根据开发计划进行选择性改进。
young5335 - 2008-5-14 09:11:00
dts用得着clear()吗?直接Dispose()不更经济省事?
CSharp_ds - 2008-5-14 10:52:00


引用:
原帖由 young5335 于 2008-5-14 09:11:00 发表
dts用得着clear()吗?直接Dispose()不更经济省事?



Dispose()不会马上执行,这取决于垃 圾回收器。(怎么连“垃 圾”两个字也被过滤了)
young5335 - 2008-5-14 14:45:00


引用:
原帖由 CSharp_ds 于 2008-5-14 10:52:00 发表


引用:
原帖由 young5335 于 2008-5-14 09:11:00 发表
dts用得着clear()吗?直接Dispose()不更经济省事?



Dispose()不会马上执行,这取决于垃 圾回收器。(怎么连“垃 圾”两个字也被过滤了)......

DISPOSE()会马上执行,而终结器不会马上执行,会等到至少两次垃 圾收集后才会执行。Dispose()执行的是资源释放,而终结器才是释放对象所占用内存。所以打开数据库连接后一般立即使用Dispose(),也就会立即释放资源。代码中的Clear()会释放所有的内部引用的DataRow对象,但也不会立即释放它们所占内存,这得看垃 圾收集器0代是否充满,而且如果内存足够大,很有可能不收集,而一直呆在2代里。
young5335 - 2008-5-14 14:51:00
也就说是,无论是否使用Clear()方法,都不会立即释放内存,但Clear()明显多此一举。既然同样是都必须借助于垃 圾收集器,还不如直接设为dts=null来得更经济。当然优化器如果觉察到使用了dts=null,会直接删除此句。这全都是由于垃 圾收集器的功劳。
1
查看完整版本: 感觉dotdotNetCMS添加新闻有几个不足