摘要:
如果在不连接TFS的情况下,编辑一个已经source control的solution,总是会有烦人的提示信息。如果你确定不再需要source control,可以这么干。 Here is how to remove this association: 1. Remove all *.vssscc and *.vspscc files from your Solution folders. 2. Check if your Solution *.sln file is Read-Only. Remove this flag if needed. 3. Open *.sln file in an 阅读全文
摘要:
开发Windows Service,可能会碰到以下两种情况。1. 直接开发一个Windows Service网上有很多教程,可以参考这个:http://www.cnblogs.com/sorex/archive/2012/05/16/2502001.html有可能遇到的问题: http://www.csharpwin.com/csharpspace/6705r3252.shtml http://tieba.baidu.com/p/7641867362. 假设已有一个写好的project,现把它转换为windows service1)改写Mainnamespace Test{ clas... 阅读全文
摘要:
首先,介绍一下Json字串,以下Json的介绍引用网上资料。简单地说,JSON可以将JavaScript对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从Web客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是JavaScript很容易解释它,而且JSON可以表示比"名称/值对"更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。基础示例 简单地说,JSON可以将JavaScript对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从W 阅读全文
摘要:
这两天在写一个报警系统的需求文档。事实上,在没有写需求文档之前,我已经开发报警系统有一阵了,整个框架差不多已经搭出来了,才回过头来写文档。这样就导致我出现了写需求文档时,满脑子都是如何实现需求的,这样写出来的文档有根本性的错误。站在开发者的角度思考需求实现思路,却没有站在用户的角度思描述实际场景需求。很显然需求文档要求的是需求的描述,而不是描述实现思路。之后,我转换角色,重新写需求文档。在写的过程,我发现很多时候都捉襟见肘,主要原因是我描述不清我想要的需求,而描述不清的原因是我没有一个很好的需求描述思路。在慢慢的摸索中,我发现以下一种思路还算可行。需要一种需求的描述时,可以:1)大略描述这个需 阅读全文
摘要:
这个指标报警系统主要用于视屏播放指标的监测,如清晰度,观看人数等。在我的开发中,将报警系统分解为了以下几个部分: 1、规则配置部分 2、指标获取部分 3、指标判断部分 4、结果处理部分可以看出虽然这是一个报警系统,但在我划分的部分中却未有提及报警二字,这中间是有一个我思维转变的过程的。在最开始设计报警系统时,我总有一个先入为主的观念。认为某某指标值若落入报警范围就该产生报警行为,没落入就舍弃了。在随后的开发中,我发现这种观念有两个不便之处。1) 某某值:实际就是对单一的指标值进行判断,但现实的情况大多是分析一定范围的指标值才会产生是一个合理的报警行为。2) 落入报警范围与没落入报警范围:这样不 阅读全文
摘要:
在我最初学习面向对象的时候,对封装性的好处并没有什么深入的理解,只是觉得外界看不见了而已。直到最近我学习C#事件对委托的封装,加上看了一些网上的资料,才加深了对封装的体会。根据我现在的理解,封装有如下好处:1)对象封装后,外面只能查看或是赋值,却不能使用它具体怎么使用只能由类内部自己决定,这样避免了在主程序中使用它的行为。因为若在主程序中使用它,有可能会错失一些该对象本该在类中处理的行为。public delegate double PriceHandler(); public class PriceManager { public PriceHandler GetP... 阅读全文
摘要:
看了一些资料,简要的总结一下委托,Lambda,事件。委托。1)委托的含义委托定义了函数类型,是一种类似“C++函数指针”的东西。但委托和函数指针还是不同的,函数指针不过是一个函数的入口地址(指向内存位置的指针),它是类型不安全的;委托不仅包含入口地址,还定义了函数的具体信息,如返回值,输入参数等,它是类型安全的。也就是说,定义一个函数指针后,任何函数都可以赋予该指针,有极大的不安全性;但定义了一个委托后,只有符合该委托定义的函数签名的函数才能赋予该委托,增强的安全性。总之,在.NET中要传递一个方法,就必须把一个方法的细节(返回值,输入参数)封装在一种新类型的对象中,即委托。所以委托是一种类 阅读全文
摘要:
今天研究了一下利用C#发邮件,很简单的,贴上代码。//Define what mail i want to sendMailMessage myMail = new MailMessage();myMail.To.Add("test@test.com");myMail.From = new MailAddress("test@test.com", "Yis", Encoding.UTF8);myMail.Subject = mailSubject;myMail.SubjectEncoding = Encoding.UTF8;myMai 阅读全文
摘要:
连接数据库是一个很常见也很必须的操作。先将我用到的总结一下。1. Perl 连接数据库Perl 连接数据库的思路都是:1)使用DBI模块; 2)创建数据库连接句柄dbh; 3)利用dbh创建语句句柄sth; 4)利用sth执行sql语句; 5)利用sth处理数据。连接Oracle: my $dbh=DBI->connect("DBI:Oracle:host=$hostname;sid=$sid",$username,$passwd); ### deal with multi return value my $sql=qq(select uid_der fr... 阅读全文
摘要:
刚研究了一下C#子类实例化的过程。首先我遇到了如下一个问题:有类A,里面写了一个有参的构造函数,并没有提供默认的无参构造函数。现在类B继承了类A,没有写任何的构造函数。这时如果想实例化类B就会产生错误了。首先,子类B中没有构造函数,编译器要为子类B生成默认的构造函数,但是首先得去调用其父类A默认的构造函数,而父类A中没有提供默认的无参构造函数,所以发生错误。一般是这么解决:class A{ public A(string name) { //some code }}class B : A{ public ... 阅读全文