简单线程使用练习

自从上次做了个转换程序之后,数据量大的用户在转换中都会出现程序假死的现象。有朋友提议使用线程的技术,就不会出现这样的问题了,于是花了些时间研究了下线程的使用。C#.net 的线程使用在网络上的大多都很繁琐复杂,不适合新手,理解起来也没那么容易,后来从某人的网站(好像是博客,具体不记得了,由衷地像这位大侠表示感谢)看到一篇介绍进程使用的简单例子,在这里我和大家说一下。

首先,创建一个名为 ThreadTest 的工程项目。工程创建出来后,以我的个性,我比较喜欢马上把难看的 Form1.cs 窗体重命名为 Main.cs 窗体,当然,连锁替换,把所有 Form1 的字符全部替换成 Main。

自己理解静态类(C#.net)

以前只是图方便使用类似函数的过程来制作了很多静态类,可是一直到现在都没有对静态类是个什么东西有个概念。先不说,例如有一个名字叫做 Language 的类,里面有一个 Name 的字符串属性,如果我们要输出这个东西,静态和非静态类的使用方式如下:

非静态类:

  1. Language oLang = new Language();  
  2. Response.Write(oLang.Name); 

记录一些 C#.net 常用的变量默认值

由于创作程序的需要,今天研究了一下每个变量类型的最大值和最小值。虽然这些东西在网上很容易查找到,不过自己弄的,总是比较有成就感。

short.MaxValue:32767
short.MinValue:-32768

int.MaxValue:2147483647
int.MinValue:-2147483648

long.MaxValue:9223372036854775807
long.MinValue:-9223372036854775808

配对补全HTML标签的思路

之前在 Roclog 里用了一种笨办法:把主要内容和阐述内容作为两个内容来分别输入,也就载入了两个编辑器,占用了比较多的资源,后来虽然增加了后备载入,但是也有很多不兼容的问题。比如有的朋友的空间如果使用了后备载入编辑器就会出错,导致不能使用编辑功能,这是很麻烦的。

后来学习了慧杰老师的做法,在同个编辑器同时编辑阐述和内容,做法则是在中间插入一个符号而已。这个想法很不错,实现起来也不困难,逻辑上是没什么问题了。但是实现起来,并不是那么容易……特别是所见即所得编辑器,更是麻烦。

麻烦在于,如果我在一段还没结束的时候就插入了分隔符,那么阐述里面的内容就会缺少本来应该有的但是已经被忽略了的分隔符后面的标签,这个可能导致有阐述输出的页面的布局出错。如果是 PHP,则有一个函数是可以直接把缺少的标签智能解析及配对出来,但是对于 C#.net 来说并不是那么容易,因为它没有直接可以这么做的方法。由于我正则不是很好,写不出很复杂的配配对正则,所以没办法只有使用笨办法了:首先把阐述的不带结束符号“/”的标签名字取出来(重复的就不取第二次了),然后用这个取出来的数量减去带结束符的标签的数量,得出的就是缺少的数量。然后再依次在末尾加上缺少的结束符。

十天初涉 ASP.net(八)

接下来的章节,就与我们前面所创建的解决方案没有多大关系了。从这一节开始,我将和大家说一下在程序设计中的一些规范和建议。当然,我写这些东西的初衷只是为了带各位入门,而不是提供高级的教学,每人都能入门并且共同研究高级技术,这是我所希望的。好了,废话就不多说了,这一节里,我主要说一下安全方面的事情。

对于网站的安全,我想就不用多介绍了。很简单的可以理解为,一个不安全的网站,要想使用起来是很麻烦的一件事。一个相对安全的网站系统,则可以很好很稳定地运营。(我这里要说明一下,我所说的安全只是相对安全,没有任何一个可使用的网站是绝对安全的。)

首先,我们从取值开始讲。最常见的取值无非是 GET 和 POST 两种,虽然说 GET 是用来获取,POST 是用来提交……但是,也不能这么局限。我们当然可以重新理解这些个的使用方式。取值的方式我们在前面的工程里已经讲过方法了,这里就不多说。我这里要建议的是,取得的值都是不值得信任的,最好不要偷懒,进行内部过滤一次。我们以数字型和字符串型两种来做介绍。

十天初涉 ASP.net(七)

上一节里我们讲了数据库类库里 GetDS 取得数据的用法,可是并不是这样就完了,如果数据过多,会造成什么现象?我想这个不用我说大家也心里有数吧,那当然会造成死机或者是内存溢出。

在我们进行下面分页的操作之前,我们必须在函数库里加入以下的方法用于取得地址栏参数的取得:

  1. //用于取得 GET 提交的数据内容  
  2. public static string GET(string key)  
  3. {  
  4.     //声明一个字符串变量  
  5.     string sGetString = string.Empty;  
  6.     //开始赋值  
  7.     sGetString = HttpContext.Current.Request.QueryString[key];  
  8.     //判断类型,如果不出错就返回原值,否则返回空字符串  
  9.     if (sGetString != null && sGetString.ToString() != "") { return sGetString.ToString().Trim(); } else { return ""; }  

十天初涉 ASP.net(六)

好了,我们来讲新的一节内容。在此之前,大家都有查看过自己的数据库,有没有存在数据吗?我这里也是有的哦~

既然有了数据,只添加也没什么意思,大家一定急着想把这些数据输出显示吧?别急,我们先来理解几个东西。首先是循环语句,我们这里说的循环,是针对数据集 DataSet 来讲的,其它的用法大家就自己看看别的教材吧。

十天初涉 ASP.net(五)

前一节我们创建的函数库里都写了些什么还记得吗?对,那就是取得 POST 数据的静态过程(新手可以把这东西直接理解成函数一样的东西就行)。也许有的朋友还自己做了个取得 GET 参数的静态过程吧?那么,还记得我们在前面讲解的最后都实现了什么吗?没错,我们实现了把输入的内容用脚本弹出一个提示框来。那么这一节中,我们就将实现真正地将取得的内容写入到数据库里了。

1/3, 18«123»

Powered by Roclog v5.0.26.0

Copyright © 2009-2010 Roclog 官方网站. All rights reserved.

滇ICP备09002287号

本站带宽资源由风云互联提供, 统计由提供