让VS 2008支持Subversion
摘要:Visual Studio 2005 有一个开源的Subversion插件,Ankhsvn (http://ankhsvn.tigris.org/),安装后,VS 2005中将内置Subversion的支持,可以直接在VS里面提交修改。我经常用它和TortoiseSVN 配合来使用Subversion,十分方便。可是升级到Visual Studio 2008后,发现Ankhsvn没有集成进来,因为目前的Ankhsvn还不支持VS2008,据说下个版本才会支持VS 2008。不过这不影响我们在Visual Studio 2008中使用Ankhsvn,我们可以自己动手修改注册表,将Ankhsvn集
阅读全文
使用XmlWriter时请注意Encoding
摘要:这两天用一个常用编辑的软件打开一个最近更新的xml配置文件时突然报编码错误,说不支持utf-16。看到这个错误,我愣了一下,这个软件不支持utf-16的xml我是知道的,但是这个xml配置文件可是用XmlSerializer序列化的一个class,一直都是使用utf-8编码的,怎么突然出utf-16了?用Notepad++打开这个xml,看了一下右下角的编码,显示的还是utf-8,看来文件输出没有错啊,等等,突然注意到第一行:<?xmlversion="1.0"encoding="utf-16"?>咦?文件明明是utf-8,可是xml dec
阅读全文
Visual Studio 2008 LINQ to SQL 的Beta 2测试版和RTM正式版的差异
摘要:Follow Scott Guthrie 的例子学习LINQ,结果找了半天也没有找到Table<TEntity>Add()这个函数,查了MSDN,也没看到,我还以为是static的Class Extension添加的方法呢,正郁闷着到底是少reference了哪个库。呵呵,结果进一步搜索才发现,原来RTM把Table<TEntity>Add()改名为 Table<TEntity>InsertOnSubmit()。这个改名语义更强了,改得确实对的,不然现在有很多人在论坛上问为什么Add()后数据库没变化。Scott Guthrie的Blog上似乎也没说啥,哎,
阅读全文
写了一个开源的ASP.Net的系统信息探针(适用于MS.Net 1.x/2.0和Mono 1.0/2.0)
摘要:简介这两天由于需要一个ASP.Net的服务器信息探针。到网上找了找,似乎没有发现什么开源的ASP.Net的系统信息探针(探测器)。由于技术含量不是很高,于是干脆自己动手丰衣足食了。到网上找了一下各个ASP.Net系统信息探针,把功能总结了一下,基本上都实现出来了。既然实现了就别藏着掖着了,也没什么技术含量,拿出来开源好了。有谁有更好的想法可以告诉我,如果不费劲,我就加进去。我把这个放到Google code hosting上面了,需要的可以从上面下载:http://aspnetsysinfo.googlecode.com/我这个ASP.Net的系统信息探针与其它探针最大的不同处,是我这个探针除
阅读全文
C#匿名方法的应用二则–实现异常Retry机制和WinForm线程安全访问
摘要:用C# 2.0的朋友可能会经常使用匿名方法(Anonymous Methods)和匿名委托(Anonymous Delegate)。在这里我说2个比较常用的应用环境。1、Retry机制C#和C++, Java一样拥有异常处理机制,我相信很多朋友和我一样,第一次接触异常的时候,都非常希望异常能够像内核捕获内存page fault异常一样类似的拥有Retry(重试)的机制,很可惜这些语言中都没有给我们提供Retry机制。当然原因有很多,比如如果重试,那么到底是重试哪部分代码呢?是try{}catch{}中的代码?还是发生异常那一行的代码?重试多少次?重试之间是不是要再等一会儿?如果再失败怎么处理?
阅读全文
警告:为了安全请不要随意将ASP.Net的validateRequest="false"
摘要:ASP.Net 1.1后引入了对提交表单自动检查是否存在XSS(跨站脚本攻击)的能力。当用户试图用<xxxx>之类的输入影响页面返回结果的时候,ASP.Net的引擎会引发一个 HttpRequestValidationExceptioin。默认情况下会返回如下文字的页面: Server Error in '/YourApplicationPath' ApplicationA potentially dangerous Request.Form value was detected from the client(txtName="<b>&quo
阅读全文
C#的数据库应用如何解决内存消耗太大的问题呢?
摘要:本来是个帖子,但是问的问题没有得到实际的答案。所以干脆放到Blog上来好了,当作长期的一个题目。这样如果有人看的话,也许能够给我一些线索。我用C#做数据库应用的时候,经常遇到的一个问题就是内存消耗特别大。这种情况在作大数据量的数据库导入导出的时候更为明显。说一个常见的数据库导入导出的Case, 大家看看比较合理的办法是什么:环境:有一个数据库SRC, 里面有500万条记录。有A, B, C三个字段。数据库的大小去掉水分后,大约500MB的数量级。这个作为源数据库。数据库DEST是目标数据库,里面有AA, BB, CC, DD, EE, FF等5个字段。其中,AA, BB, CC的值,是根据SR
阅读全文
让我们用中文编程
摘要:让我们用中文编程刚才突然想到C#里面应该支持中文编程,因为他支持源代码的Unicode,于是用中文写了一个小程序,看看能不能编译执行,结果果然如我所料,可以执行,虽然代码实用价值没有,但是很有趣味。我想用这样的小程序教一个中国学生学面向对象,可能门槛会更低一些,而且也有趣的多,毕竟是母语。(稍作修正,直接用运行时类别鉴定来决定"我是谁")程序的源代码是: using System; namespace 中文编程 { public class 生物 { public virtual void 自我介绍() { Console.WriteLine( "我是...咦?我
阅读全文
利用正则表达式将html网页数据变成Web Service
摘要:这次的题目很简单,中国银行有一个查当天汇率的网页(http://www.bank-of-china.com/info/qpindex.shtml),不过是传统的Html格式,而其又没有提供Xml格式或者WebService查询。现在如果希望其他的信息系统能够随时读取其中的数据,那么方便的莫过于中行提供一个WebService接口供大家调用,这也是典型的安全的WebService应用。可惜中行没有做,那么我们能不能自己来做呢?当然可以,只要用程序分析其html网页,那么就可以很容易的读取其中的数据。文本分析,当然要看我们的"Regular Expression"(呵呵,其实这
阅读全文
Regular Expression 正则表达式-2 (Java)
摘要:又用Java实现了一个,发现Java的正则表达式略有不同,而且也感觉到了Java的读写文件很不雅观。/* * Created on 2004-10-1 */ import java.util.regex.*; import java.io.*; /** * @author dancefire */ public class DataFilter { public static void main(String[] args) { if(args.length < 2) { System.err.println("Please enter 2 filenames(e.g. In.
阅读全文
Regular Expression 正则表达式-1 (C#)
摘要:起因是因为一片帖子,问到了一个问题,帖子是这样的:Originally Posted by 人就是这样我想编一个程序,但学CompSci是很久以前的事情了。想请教请教大家。有两个txt文件,一个叫source.txt(有很多数据), 一个叫target.txt(空白的)我想把source.txt里的一些数据提取出来(稍微修改一下),然后写到target.txt里面。举个例子:sourse.txt里的数据:2oi)4@##( "data:001%abc">dsi-23)(*32##("data:dce%xy3"#(*EOIj2308Eld想提取的数据
阅读全文
using和Enviroment.NewLine
摘要:using statement:不是我们在开头位置见的那种类似于#include或者import的东西,而是为了释放非托管资源的,凡是实现了IDisposable的Class都可以这么用,比如文件操作:using( StreamReader sr = new StreamReader("sample.txt") ){strContent = sr.ReadToEnd();}这个等同于:StreamReader sr = new StreamReader("sample.txt");try{ strContent = sr.ReadToEnd();}cat
阅读全文