摘要:
Override:是重载父类中的方法,其方法在父类中必须是Abstract或是Virtul的,子类中重载方法返回值类型必须与父类一致。New:是给子类新增加了一个函数,可以说除了函数名字相同以外,它跟基类里面的这个同名函数没有任何关系。当使用子类的类型来调用的时候,它会运行子类中的函数,而如果类型是基类的话,被隐藏的基类函数就会站到前台来。 阅读全文
摘要:
readonly:可以在字段上使用的修饰符,当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中。可以使用如下方法赋值:View Code // cs_readonly_keyword.cs// Readonly fieldsusing System;public class ReadOnlyTest{ class SampleClass { public int x; // Initialize a readonly field public readonly int y = 25; public readonly int z 阅读全文
摘要:
this:引用类的当前实例;由于静态成员函数存在于类一级,并且不是对象的一部分,因此没有 this 指针,在静态方法中引用 this 是错误的;它的用法分以下几种情况:1. 限定被相似的名称隐藏的成员public Employee(string name, string alias) { this.name = name; this.alias = alias;} 2. 将对象作为参数传递到其他方法CalcTax(this);3. 声明索引器public int this [int param]{ get { return array[param]; } set { array[param] 阅读全文
摘要:
params:指定在参数数目可变处采用参数的方法参数;它后面不允许任何其它参数,并且只允许有一个params参数。params// cs_params.csusing System;public class MyClass { public static void UseParams(params int[] list) { for (int i = 0 ; i < list.Length; i++) { Console.WriteLine(list[i]); } Console.WriteLine(); } public static void UseParams2(params ob 阅读全文
摘要:
参数名类型描述url String(默认: 当前页地址) 发送请求的地址。typeString(默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。timeoutNumber设置请求超时时间(毫秒)。此设置将覆盖全局设置。async Boolean(默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其 阅读全文
摘要:
在NHibernate中使用Guid作为主键需要注意几点:1. 数据库中Guid类型为uniqueidentifier,同时必须给定默认值。2. 生成的实体类中类型为System.Guid3. 生成的Mapping文件中id对应的class为guid<注意大小写>,id对应的class还有几种不同类型,分别代表不一样的意义,自己Google一下。4. 使用ISession.Save()后同时还要使用ISession.Flush()<否则数据无法保存进数据库>,至于Flush方法作用,自己Google一下。网站中同时使用NHibernate和Log4net1. NHibe 阅读全文
摘要:
sealed修饰符:1.密封类,使得该类不能被继承2.sealed修饰符不能与abstract修饰符一起使用,因为abstract修饰符就是指定某个类为基类用来被继承的。abstract修饰符:1.可以用来修饰类、方法、属性等2.在类声明中使用abstract修饰符,该类只能被用作基类,且不能被实例化。3.抽象类中可以包含抽象方法和抽象访问器。4.标记为抽象或包含在抽象类中的成员必须通过该抽象类的派生类来实现5.可以在派生类中使用override来重写抽象方法或抽象属性5.只允许在抽象类中使用抽象方法6.抽象方法不能与static、virtual修饰符一起使用7.抽象方法没有方法体virtua 阅读全文
摘要:
检查网站ISAPI筛选器中是否包含了如下图所示内容 如果没有包含ASP.Net_4.0_32bit类似的东西,那就需要做如下步骤:CTRL+R --> 输入CMD --> ENTER --> "%WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe" -iru -enable --> ENTER同时网站对应的应用程序池选择v4.0,托管管道模式选择集成。如下图所示此处补充说明一下关于IIS7的托管管道模式IIS7.0中的Web应用程序有两种配置模式:经典模式和集成模式。经典模式是为了 阅读全文
摘要:
很久没过来写东西了,缘于最近换了工作,在搭建新的架构,做开发四年了,走得太快,庆幸在新公司有足够的时间来整理、归纳。最近研究的相关技术:nhibernate、mvc 阅读全文
摘要:
Expression属于System.Linq.Expression命名空间下。ask:Expression是什么?answer:Expression是表达式树ask:表达式树用来干什么?answer:表达式树提供一个将可执行代码转换成数据结构的方法,我们可以把它理解为一种数据结构。ask:可执行代码指什么?answer:可执行代码其实就是指C#代码,例:lambda表达式是可执行代码、LINQ查询表达式也是可执行代码ask:表达式树价值体现在什么地方?answer:在LINQ中,我们使用Linq查询表达式来从数据库中获取数据,很显示,数据库并不认识LINQ语法,它只认识SQL语句,这时表达式 阅读全文
摘要:
委托:是一种定义方法签名的类型。当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联。您可以通过委托实例调用方法。上述为官方说法,理解起来比较难,举个生活中的例子:某人有三子,让他们各自带一样东西出门,并带回一头猎物。上面一句话可以理解为父亲对儿子的委托:猎物 办法(工具 某工具)--delegate 猎物(返回值) 带回猎物(委托名)(工具(参数类型) x)--delegate int GetValue(int i)三个人执行委托的方法各不相同兔子 打猎(工具 弓)-public static int GetValue1(int i){ return i; }野鸡 买(工具 钱) 阅读全文
摘要:
什么是极限编程?在了解什么是极限编程之前,我们先了解一下结对编程。何谓结对编程:两个程序员在一个工作台上共同参与、合作;就好像一个开车一个做导航员,而且最好经常是互换角色。 这种合作对开发程序有很多好处。比如增加纪律性,写出更好的代码等;结对编程是极限编程的组成部分。现在我想大家应该对极限编程有了一定的了解,这时再来解答什么是极限编程?极限编程(英语:eXtreme Programming,縮寫為XP),是一种软件工程方法学,是敏捷软件开发中最富有成效的几种方法学之一。如同其他敏捷方法学,极限编程和传统方法学的本质不同在于它更强调可适应性而不是可预测性。XP的支持者认为软件需求的不断变化是很自 阅读全文
摘要:
之前写了一个公共的ImgHelper类,主要提供高清晰缩略图生成,由于在之前的实际操作过程中存在一些问题,最近有了点时间,于是重新拾起来再改进一下,顺便研究一下GDI+。问题一:产品搜索列表展示,每个产品显示的图片大小为100x100,缩略图生成是按比例缩小的,可能为100x100、100x90、90x100、90x90,为了显示美观,我们需要让该图片在100x100的区域垂直、左右居中显示,那么就需要使用样式来控制,这时WEB前端开发人员建议,是否可以给图片加一个透明的背景,即将按比例生成的缩略图放置在一个大小为100x100、背景透明的图片上。问题二:需要在缩略图上打上水印,包括文字水印、 阅读全文
摘要:
如何计算一段字符串的宽度及高度呢?影响一个字符串的宽度与高度的因素莫过于 FontFamily、FontSize了,那么如何根据这两个字来计算呢?示例代码如下:Graphics g = Graphics.FromImage(new Bitmap(Width, Height));System.Drawing.Font _Font = new System.Drawing.Font("FontFimily", (float)FontSize));SizeF _SizeF = g.MeasureString("string", _Font);float flWidth = _SizeF.Width; 阅读全文
摘要:
SQL2005:1. DUMP TRANSACTION database_name WITH NO_LOG2. 数据库右键菜单-任务-收缩-文件-文件类型选择日志-收缩操作选中第二个选项并填写收缩到多大SQL2008:USE database_name;GOALTER DATABASE database_nameSET RECOVERY SIMPLE;--设置简单恢复模式GODBCC SHRINKFILE (database_name_Log, 1); --红色标注部分名字可使用此语句获取:SELECT * FROM sys.database_filesGOALTER DATABASE dat 阅读全文
摘要:
从明天起,做一个幸福的人喂马、劈柴、周游世界 从明天起,关心粮食和蔬菜 我有一所房子,面朝大海,春暖花开 从明天起,和每一个亲人通信 告诉他们我的幸福 那幸福的闪电告诉我的 我将告诉每一个人 给每一条河每一座山取一个温暖的名字 陌生人,我也为你祝福 愿你有一个灿烂的前程 愿你有情人终成眷属 愿你在尘世获得幸福 而我只愿面朝大海,春暖花开 阅读全文
摘要:
做.net的开发人员绝大多数使用的都是MsSql数据库,但是随着微软在全球反盗版工作的展开,我们发现MsSql的生存空间也越来越小,买个操作系统倒还可以考虑,但是买套数据库成本就太高了,更何况随着mono版本的不断改进,说不定哪天咱们可以让我们的asp.net程序完美的运行在apache下面,操作系统也不用买了,呵呵。主归正传,我们现在需要把MsSql数据库换成MySql数据库,如何来进行数据转移呢?1. 通过安装mysql ODBC数据源,借助mssql的数据导出功能。此方案未通过,无论在MSSQL2005还是MSSQL2008都无法找到新建的MYSQL ODBC数据源,MSSQL2000下 阅读全文
摘要:
MSSQLSERVER 2008卸载后重新安装出现错误:在创建窗口句柄之前,不能在控件上调用Invoke 或BeginInvoke;错误原因:VS 2010的一个服务程序mscorsvw.exe进程调用Invoke导致; 解决办法:禁用此名称(mscorsvw.exe)所有进程。注:可能有多个在运行。 阅读全文
摘要:
某个文本文件中存储了60W条记录,以\r\n作为分隔符,现在需要从文本中一次性取出所有值并存放到一个string[]数组中。StreamReader sr = new StreamReader(strFilePath, System.Text.UnicodeEncoding.GetEncoding("utf-8"));string strContent = sr.ReadToEnd();string[] strArr = strContent.Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);以上方式非常不建议 阅读全文
摘要:
当你听到memcache与memcached时把它当做是一个东东就好了,尽管它们存在区别,但是这并不影响你对它们的运用及理解。“Memcache”它是一个自由和开放源代码、高性能、分配的内存对象缓存系统,即该系统名称为“Memcache”;“Memcached”它是该系统的主程序文件,以守护程序方式运行于一个或多个服务器中(分布式),随时接受客户端的连接操作,使用共享内存存取数据;“Memcachedb”它是新浪2007年的项目,在Memcached的基础上开发出来了,它与Memcache不同的是它提供了数据持久化存储首先,我们需要下载一个memcached安装程序,memcached版本很多 阅读全文
摘要:
紧接上一篇 Lucene 如何实现高性能GroupBy 一 的讲:Lucene--Util--PriorityQueue.cs先给大家看一段代码,来源于PriorityQueue类Initialize这个方法做的最主要的一件事情就是初始化了一个名为heap的东东,这是个什么东东呢?它的作用何在?e.g. protected internal System.Object[] heap;看到这句大家应该清楚了heap是什么东东,它就是一个Object数组我们再看看Initialize方法,此方法带了个参数,“int maxSize”,这个maxSize = pageSize*pageIndex 阅读全文
摘要:
什么是二维码 /二维条码(2-dimensional bar code)?1.用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;2.在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理ps:二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息。二维码的特点:1.高密度编码,信息容量大:可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍。 阅读全文
摘要:
注:以下讲解代码均以Lucene.net 2.9.2为例。GroupBy效果应用(http://www.tradetuber.com/search?key=led)Lucene如果实现高性能的GroupBy、SortBy效果,我想这个应该是Lucener(Lucene使用者简称Lucener)遇到的最头大的问题。 Lucene各个方面表现都很优异,唯独在GroupBy及SortBy方面显得蹩脚,那么接下来的文章中我将为Lucener讲解如何更好的解决这两大问题。 1.GroupBy 要实现GroupBy,我们应该从哪下手? 如何下手?从哪下手:从Collector类下手,Collector类相 阅读全文
摘要:
如何远程控制centOS桌面? 如何使用windows远程控制centOS桌面?1.查看本机是否有安装vnc(centOS5默认有安装vnc)rpm -q vnc vnc-server如果显示结果为:package vnc is not installed vnc-server-4.1.2-14.e15_3.1那恭喜你,机器上已经安装了vnc,如果没有,就得自己安装了,这里不说怎么安装了,很简单,在centOS的软件库中搜索,点击安装2.把远程桌面的用户加入到配置文件中vi /etc/sysconfig/vncservers使用vi编辑器打开配置文件,在文件中添加下面两行命令VNCSERVER 阅读全文
摘要:
上一篇 介绍了mongoDB在windows下的安装,以及基本语法,本篇将着重讲讲如何在Linux(centOS)下安装运行mongoDB,此处岔开一下话题,由于mongoDB数据库在32位机器上大小超过2G时就会出错(2G并不是指单库的容量,是整个mongoDB的所有库容量总和),所以选用centOS64作为其运行载体,下面直接切入主题。1设置mongoDB目录cd /home/apps 附:centOS下创建目录命令 mkdir /home/apps2下载mongodbcurl -O http://fastdl.mongodb.org/linux/mongodb-linux-x86_6 阅读全文
摘要:
真的感动了,中华民族,一个古老的民族,一个历史悠久的民族,一个不断崛起的民族,感受着今天的中国带给我们的感动、震撼,中国人特有的包容、儒家文化,我以自己做为一名中国人感到万分自豪。 阅读全文
摘要:
移位运算符是什么?:左移:右移示例如下:x 1 = x*2x 2 = x*4x 3 = x*8x 4 = x*16由此可见:任意数的左移位数等于该任意数与2的左移位数次方的积,即 x y = x*2^(y)x 1 = x/2x 2 = x/4x 3 = x/8x 4 = x/16由此可见:任意数的右移位数等于该任意数与2的右移位数次方的商,即 x y = x/2^(y) 阅读全文
摘要:
如果正在开发的网站在IIS中自定义了域名,有时会出现无法调试的情况,提示错误:无法在WEB服务器上启动调试,与WEB服务器通信时出现身份验证错误,遇到这个情况不要慌,如何解决呢?请看下解。首先,得检查一些必要的环节是否正确。1.IIS中是否设置了集成WINDOWS身份验证2.配置文件中是否设置网站为允许调试上面这两点一般都不用检查,导致此问题发生的真正原因在于 “启用了环回检查”,怎么禁用环回检查呢?步骤如下:1. 打开注册表编辑器(单击 开始 , 单击 运行 , 类型 regedit然后单击 确定 )。 2. 中注册表编辑器, 找到并单击以下注册表项: HKEY_LOCAL_MACHINE\ 阅读全文
摘要:
十进制,大家应该都很清楚,日常生活中的计算用的都是十进制,即“逢十进一”,它的组成部分由0-9十个阿拉伯数字组成。二进制,计算机运算时使用的算法,据传说,二进制起源于中国的易经,被西方的莱布尼兹正式提出,二进制即逢二进一,它的组成部分由0、1两个数字组成。十进制如何转换为二进制呢? 大家看看下面的例子就清楚了e.g. 计算十进制整数77的二进制数是多少?2--77--12--38--02--19--12--9--12--4--02--2--02--1--12--077(10)=1001101(2)由此可见,十进制整数转二进制的方法:除以2取余数,将余数倒序排列e.g. 计算十进制小数0.75的 阅读全文
摘要:
网站中使用SESSION或COOKIE来进行用户身份验证是必要的事情,常用的做法便是写一个基类,所有需要用到身份验证的页面统统继承这个页面,由于之前使用的是COOKIE,这次加入了SESSION,两者一起来进行判断,出问题了,什么问题呢?听我慢慢道来!首先跟大家讲讲关于SESSION与COOKIE的相关知识,如果对这一块了解比较透彻的人可以略过此段。SESSION的存储--存储在服务器端:(SESSION的三种存储模式)1.存储在网站的进程中(大家知道asp.net应用程序网站运行时都会开启一个W3WP.exe进程,SESSION的生命周期便与此进程共存亡)2.存储在STATE SERVER进 阅读全文
摘要:
今天,重启IIS7时突然报错 “IIS 服务或万维网发布服务,或者依赖这 服务可能在启动期间发生错误或者已禁用”, 查遍了所有与IIS有关的服务,发现均已启动,没办法,1. 重装IIS,仍然存在同样的错误,2. 这时去查看了一下WINDOWS系统日志,好家伙,报错了,错误提示:与 Net.Tcp Listener Adapter 服务相依的 Net.Tcp Port Sharing Service 服务因下列错误而无法启动: 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。3. 赶紧跑去看“Net.Tcp Port Sharing Service”此服务,居然设为禁止启动,难怪,好 阅读全文
摘要:
二者的区别:当带签名的UTF-8编码内容被浏览器解析时,浏览器直接根据签名即可判断出使用UTF-8编码来进行解析,当不带签名时,浏览器会根据内容的编码来进行判别。简而言之,带签名的将更容易被浏览器以正确的编码方式进行解析。最近开发的过程中碰到一个很郁闷的问题,一个站点中即有.aspx页面,也有.shtml页面,它们都引用一个公共的头文件,例:!--#include file="Html/header.htm"--,这时问题来了。1 .aspx、.shtml、header.htm页面都采用utf-8带签名编码,此时.aspx页面正常,.shtml页面顶部多出一片空白部分2 .aspx、. 阅读全文
摘要:
前些天写了一篇题为Server-push技术(comet)----------asp.net中的异步处理+client与服务器端的长连接的文章,由于此篇中仅仅讲了一些理论上实现方式,故今天以实例的方式给大家进行一下补充。注:此实例为一个WEB IM模型,文章最后有下载链接。上篇中讲到了如何让服务器端往客户端以推的方式传输数据,重点就在于客户端与服务器端建立一个长连接,在实际代码中又是什么样的原理呢?首先说一下客户端从服务器端拉取数据:1客户端发送请求到服务器端2客户端等待服务器端的响应3服务器端将数据返回给客户端(如果服务器端响应慢,你会发现客户端一直处于waiting状态,直到服务器端 阅读全文
摘要:
自打Facebook的问世,NOSQL得到了最大力度的宣传与推广,面对海量数据的快速存储及读取,关系性数据库已经显得越来越滞后,目前全世界已经有很多的知名的网站开始使用NOSQL。NOSQL,从字面上理解,它就不是SQL,它真正的含义其实是指“非关系性数据库”,而我们日常所用到的MYSQL、SQL SERVER、ORACLE等都属于关系性数据库,二者的最明显的区别就是:关系性数据库中各个表之间可以建立关系,取数据时可以根据关系联表查询,而NOSQL则不一样,它内部的数据是以KEY-VALUE的形式进行存储的,通过KEY直接取到VALUE值。NOSQL发展至今,出现了好几种非关系性数据库,今天就 阅读全文
摘要:
server-push技术已经面世很久了,但直到GTALK的诞生才慢慢的引导出这项技术,不过到现在为止,也很少有人去应用这方面的技术,server-push倒底是一个什么样的东西呢?故名思义,server-push即“服务器推”的意思,ajax大家都用过,它和server-push是完全相反的两个东西,ajax是从服务器端拉取数据,如果要定期更新页面上显示的数据块,那么最简单的方法就是写个计时器,server-push则不同,它的本质是将client与server建立一个长连接,即连上后不断开,一旦服务器端有新的数据就将其推送到客户端,讲到这里出现了几个问题。1.ajax与server-pus 阅读全文
摘要:
前段时间,由于最新的一个产品中使用了MongoDB,而MongoDB在32位的windows机器下当数据大小超过2G后会出现一些不稳定的情况,故考虑使用CentOS来布署MongoDB,由于本人使用LINUX的历史可以追梭到5年前,为了能够先熟悉一下LINUX,故安装了ubuntu试用一下。UBUNTU给我第一感觉,清新,简单,很帅气的开机声音(这些条件直接导致我GF让我给她把系统从WIN7换成跟我的一样),好了,废话不多说,直接切入正题。很多人都觉得.net不能跨平台,其实不然,.net不仅可以运行在LINUX平台上,还可以使用apache,我就亲自使用了一把,整个平台采用ubuntu+mo 阅读全文
摘要:
如果您是大牛,请略过此篇文章今天,分词时突然发现了一个问题:如何存入用户输入的内容?如何输出用户输入的内容?为什么会有上面的两个疑问,听我详尽道来。WEB2.0时代是一个以用户创造内容为主的互联网时代,一方面让我们的互联网内容更加丰富化,另一方面也使得在内容输出上存在很多问题,还包括一些安全性方面的问题,譬如,用户输入JS代码、HTML代码,如果不进行一些相应的处理,可能会产生JS注入、页面内容呈现时结构错误等情况,所以引出了上述的两个问题,那么我们究竟应该如何来对待处理用户输入的内容呢? 允许用户输入任意内容(也可进行一些适当的限制)确保用户输入的内容原封不动的放入到存储介质中 (保存用户的 阅读全文
摘要:
老是忘记Server.MapPath的使用方法了,下面记录一下,以备后用:总注:Server.MapPath获得的路径都是服务器上的物理路径,也就是常说的绝对路径1、Server.MapPath("/")注:获得应用程序根目录所在的位置,如 C:\Inetpub\wwwroot\。2、Server.MapPath("./")注:获得所在页面的当前目录,等价于Server.MapPath("")。3、Server.MapPath("../")注:获得所在页面的上级目录。4、Server.MapPath("~/")注:获得当前应用级程序的目录,如果是根目录,就是根目录,如果是虚拟目录,就是虚拟目录 阅读全文
摘要:
1.CSS定义字体的标签元素 font-family: 设置字体字族。span style="font-family: 黑体, 宋体(GB)"曾恩/spanfont-sytle:设置字体类型。span style="font-style: normal"曾恩/span font-weight:设置字体的字重。span style="font-weight: bold"曾恩/spanfont-size:设置字体大小。span style="font-size: 14pt"曾恩/span font-decoration:修饰文本字体,比如带下划线“underline 阅读全文