# Friday, September 29, 2006

      一个asp.net应用中,可能我们有时候会需要处理一个可能长时间执行的任务。比如说将新闻内容生成静态页面,如果在asp.net中调用方法来处理,很可能引起超时操作,而且我们也无法获知当前处理的进度情况。那么我们应该如何解决该问题呢?答案是使用Thread+AJAX。

      基本的解决办法是,首先我们将可能长时间执行的程序放在一个Thread中执行:
Thread tr= new Thread(new ThreadStart(ArticleCreate));
tr.Start();

      然后在执行过程中将执行的进度数据存在Session中:
private void ArticleCreate()
{
    string sqlStr="select * from article order by id asc"
    DataSet ds=……
    int tCount =ds.Tables[0].Rows.Count;
    for(int i=0;i<tCount;i++)
    {
        ……
        Session["c_pro"] = (i+1)*100/tCount;
    }
    Session["c_pro"]=100;
}

      再后,我们使用AjaxPro.Net从客户端读取服务器端的Session值:
[AjaxMethod(AjaxPro.HttpSessionStateRequirement.Read)]
public int tmethod()
{
    return (int)Session["c_pro"];
}

注意红色字体部分,这是必要的参数,否则无法在AjaxMethod中使用Session,进而在客户端也将无法调用。

客户端进度条的实现可以参考我的改进版的渐变效果进度条fingerscrossed

posted on Friday, September 29, 2006 11:02:37 AM (China Standard Time, UTC+08:00)  #    Comments [1]
# Sunday, September 10, 2006

声明:本作品属于Demo级别,功能并未完整实现,供.Net俱乐部会员学习使用,高手就不必看了

授权:开源&&非商业化使用

作者:qihangnet,phenge

技术:SqlServer2000+C#+Asp.Net1.1
         存储过程
         自定义实体
         自定义实体集合
         I/O
         反射
         接口
         IDataRecord
         数据缓存
         Form认证
         三层结构
         工厂模式
         ……
文档:(电信)Qihang_CMS.chm (网通)QihangCMS.chm

代码:(电信)Qihang_CMS.rar (网通)Qihang_CMS.rar

数据库备份文件:(电信)qihang_cmsDB.rar (网通)qihang_cmsDB.rar

参与讨论:http://qihang.net/forums/thread/2908.aspx

posted on Sunday, September 10, 2006 12:35:56 PM (China Standard Time, UTC+08:00)  #    Comments [3]
# Sunday, August 27, 2006

String.Split 方法:标识此实例中的子字符串(它们由数组中指定的一个或多个字符进行分隔),然后将这些子字符串放入一个 String 数组中。

Regex.Split 方法:在由正则表达式匹配项定义的位置将输入字符串拆分为一个子字符串数组。

上面的两个Split方法,在使用单字符拆分字符串的时候效果一样。然而在使用多个字符拆分字符串时,就有所区别了:

Srting.Split(字符串.ToCharArray())得到的结果往往不是我们希望的结果。所以在此推荐使用Regex.Split方法处理使用多字符拆分字符串。

posted on Sunday, August 27, 2006 11:45:34 AM (China Standard Time, UTC+08:00)  #    Comments [0]
# Wednesday, August 23, 2006

微软在上周发布了Visual Studio 2003 SP1。这个服务包看起来包含一系列稳定性、安全性的补丁以及一些其他的问题。
Visual Studio 2003 SP1的说明
http://support.microsoft.com/default.aspx?scid=kb;en-us;924009
Visual Studio 2003 SP1补丁修复的问题列表
http://support.microsoft.com/kb/918007
Visual Studio 2003 SP1下载地址
http://www.microsoft.com/downloads/details.aspx?FamilyID=69d2219f-ce82-46a5-8aec-072bd4bb955e&DisplayLang=en

偶下载并安装了,但是对中文版用户来说似乎并不理想,比如说经常自动加入<font>标签这类问题,似乎还没有解决,会单独出一个修复包?还是……

posted on Wednesday, August 23, 2006 11:23:44 AM (China Standard Time, UTC+08:00)  #    Comments [1]
# Thursday, August 03, 2006

莫名的就出现了"编译器错误信息:CS1595",错误的全部提示如下:
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。
编译器错误信息: CS1595: 已在多处定义“Web.Global”;使用“c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\gtgaweb_web\0548dcce\e0f80a7f\assembly\dl2\b10aefc8\dc3591a2_cecec501\Web.DLL”中的定义


在网上找了一下,有一个提到解决方案如下:
以前我也有这种情况,不过那没有编译,本来程序都运行很好.用着用着就出现在这种问题了.后来我把Temporary asp.net files 里面的文件给删除了.丛启机器就好了.

另一个解决办法如下:
同时要删除项目文件夹中bin目录下所有文件再重新编译生成
这个办法我试了是可以的

有提到问题的原因认为:
导致的原因一般是重命名了虚拟目录的名称和文件夹...

另外还有一种情况,请参看:http://support.microsoft.com/?id=318274

posted on Thursday, August 03, 2006 10:33:33 PM (China Standard Time, UTC+08:00)  #    Comments [0]
# Saturday, July 08, 2006

原始版本的DasBlog有个表情的功能,但是并不太方便,而且表情内容不够丰富.于是参考了宝玉在CCS中的插入表情功能,在DasBlog中也加了一个该功能。在这里秀一下:

……

posted on Saturday, July 08, 2006 10:33:04 AM (China Standard Time, UTC+08:00)  #    Comments [8]
# Friday, June 16, 2006

今天一个朋友在新买的Dell640M上安装Visual Studio .Net 2003,结果出现提示:“安装程序检测到另一个程序要求计算机重新启动.必须重新启动计算机后才能安装visual studio.net系统必备.系统重新启动后,你需要重新启动安装程序.单击"确定"重新启动,单击"取消"退出安装程序。”,折腾了一下午,重新启动了N次计算机,死活安装不上,而且找不到源头。怎么办?Google一下吧,得到答案如下:

在注册表删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\pendingfilerenameoperations

原来是朋友之前安装Acrobat后立即联机更新,更新程序要求重新启动后继续安装,中止了它,结果就成了上面这个样子。

特此提醒需要在同一台机器上使用Acrobat和Visual Studio .Net 2003的朋友注意。

posted on Friday, June 16, 2006 9:35:24 PM (China Standard Time, UTC+08:00)  #    Comments [2]
# Wednesday, June 14, 2006

MSN 在中国发布了一款有趣的卡通制作在线服务: MSN Cartoon. 用户可以将自己的正面照片转化为卡通形象并用彩信发送或者下载到本地存放.
相信大家会喜欢上这个功能.

使用了一下, 有几点注意事项:
1. 选取图片一定要尽量选择正面, 定位脸部时候要包含下巴等全部脸部区域.
2. 调整脸部的时候曲线会一起动.
3. 添加的配件可以通过再点击一下取消.
4. 可以选择任意的人种模版.

进入MSN Cartoon(BETA)

[注:只适用于IE用户.]

posted on Wednesday, June 14, 2006 12:58:10 PM (China Standard Time, UTC+08:00)  #    Comments [0]