随笔分类 -  Enterprise Solution

Web开发框架
摘要:经常写博客交流想法,表达观念,但时常也遇到困扰。作者与读者的互动,应该是双向的。经常阅读博客,发现有些文章的作者和读者的互动,感觉是一种美。读者对作者观念的补充,作者对读者反馈内容的再思考,再加工,真让人赏心悦目。以下列举我认为的十种不恰当的互动方式,不涉及具体的作者和读者,请勿对号入座,有则改之,无则加勉。 1 留下邮箱,叫作者发源代码或是要开源 这一条经历的和看到的比较多一点。但凡是优秀... 阅读全文
posted @ 2013-07-06 10:25 信息化建设 阅读(3577) 评论(38) 推荐(42) 编辑
摘要:.NET平台的编译器会将高级语言(C#,VB.NET,F#)编译成MSIL(微软中间语言)格式。熟悉MSIL语言,可以读懂一些加密程序混淆过的算法,这些算法几乎不能还原成高级语言,但是可以还原成MSIL语言。也可以知道一些高级语言之外的关于CLR的特性,比如多模块程序集,全局静态方法等等。一些.NET保护加密程序也是运用MSIL平台的特性。 阅读本篇文章,假设您已经对这个语言有基本的了解,我会列... 阅读全文
posted @ 2013-07-05 19:19 信息化建设 阅读(4663) 评论(4) 推荐(5) 编辑
摘要:经常遇到一些好的.NET项目开放源代码之后,便很少更新。即使是大名鼎鼎的CodeProject中的文章中的代码项目,遇到问题时,留言或是主动给作者发邮件,都像石沉大海一样,得不到回复或解决,只好自力更生。 Codeplex中的项目,更新的速度就更慢了。从First release算起,三个月之外,就很少有更新了。我指的项目不是指官方的一些项目,驻留在这里。比如SQL Server的Sample ... 阅读全文
posted @ 2013-07-05 09:15 信息化建设 阅读(4505) 评论(11) 推荐(9) 编辑
摘要:CLR自带的反射机智和API可以很轻松的读取.NET程序集信息,但是不能对程序集进行修改。CLR提供的是只读的API,但是开源项目Mono.Cecil不仅仅可以读取.NET程序集的元数据,还可以进行修改。1 读取程序集的版本信息CLR定义的对象模型是以程序集为编译和部署单元。一个程序集下面可以有多个模块,模块下面再包含类型,类型中定义方法,属性和事件等。直接传入一个完整的字符串表示的程序集,MONO可以解析它的基本信息:var name = AssemblyNameReference.Parse ("Foo, version=2.0.0.0, culture=fr-FR") 阅读全文
posted @ 2013-07-04 19:22 信息化建设 阅读(6166) 评论(0) 推荐(2) 编辑
摘要:首先是一个PPT文档,从宏观层面展示Enterprise Soltion的几个功能特色。 Enterprise Solution解决方案安装与配置 将源代码解决方案和演示程序在电脑中进行配置,作为了解Enterprise Solution框架的起点。 框架开发手册 详细介绍Enterprise So 阅读全文
posted @ 2013-07-04 10:00 信息化建设 阅读(2555) 评论(0) 推荐(1) 编辑
摘要:最近阅读了一套ERP开发框架的源代码,对开发框架的理解又深入一层,也为其将知识点运用的如此灵活而自叹不如。 郎咸平教授说,国际金融炒家对国际金融知识的理解与运用程序,是不可想像的。1997年的亚洲金融危机,国际金融炒家对香港的攻击是卖空港币,但是最后却反应到股票市场,惨败。同理,开发高手将系统的知识点,运用的相当灵活,你完全没有想过可以按这种方式做出程序,灵活简便,维护方便。 1 .NET组... 阅读全文
posted @ 2013-07-04 09:19 信息化建设 阅读(5069) 评论(21) 推荐(7) 编辑
摘要:整理一下自己经常用到的几个扩展方法,在实际项目中确实好用,节省了不少的工作量。 1 匿名对象转化 在WinForm中,如果涉及较长时间的操作,我们一般会用一个BackgroundWorker来做封装长时间的操作,给它传递一个类型参数。var parm = new { UserId = txtUserId.Text, UserText = txtText.Text, TabIndex = tabCo... 阅读全文
posted @ 2013-07-03 18:57 信息化建设 阅读(4983) 评论(9) 推荐(5) 编辑
摘要:关于字符串的研究,目前已经有两篇。 原理篇:字符串混淆技术在.NET程序保护中的应用及如何解密被混淆的字符串 实践篇:字符串反混淆实战 Dotfuscator 4.9 字符串加密技术应对策略 今天来讲第三篇,如何应用上面所学内容,设计一个字符串混淆程序。 先设计一个控制台程序,它是将要被我混淆的程序集文件: public static void Main(){ try ... 阅读全文
posted @ 2013-07-03 09:15 信息化建设 阅读(4054) 评论(6) 推荐(5) 编辑
摘要:代码注入在C++时代很流行,主要是对现有的程序做一些修改,以达到预期的目的。一部分的破解程序,注册机也是借助于此方法,让被注入的程序绕过验证,达到破解的目录。在.NET中,借助于Mono.Cecil程序集,注入代码也相当容易。请看下面的代码,将要被注入的程序: using System;namespace Victim{ class Program { static v... 阅读全文
posted @ 2013-07-02 19:10 信息化建设 阅读(3277) 评论(4) 推荐(3) 编辑
摘要:因为手头需要使用一个第三方类库,网络上又找不到它的可用的版本,于是只好自己动手。这个类库使用了Dotfuscator 加密,用.NET Reflector加载程序集, 看到的字符串是乱码,如下面的代码例子所示: internal class Program{ // Methods private static void Main(string[] args) { ... 阅读全文
posted @ 2013-07-02 09:19 信息化建设 阅读(10169) 评论(3) 推荐(6) 编辑
摘要:Visual Studio提供的Dotfuscator保护程序,可以对用户代码中包含的字符串进行加密。比如下面的例子,为了找到这个程序的注册算法,用.NET Reflector加载程序集后,发现代码中的字符串,都变成这种形式的:Assembly executingAssembly = Assembly.GetExecutingAssembly();ArrayList list = new Arra... 阅读全文
posted @ 2013-07-01 09:28 信息化建设 阅读(4121) 评论(2) 推荐(2) 编辑
摘要:最近一段时间不忙,闲下来的空闲时间,重读了一下CLR的原理,回味一下有关程序集的的知识,顺便练了一下手,学习致用,破解了若干个.NET平台的软件。以此来反观.NET程序开发中,需要注意的一些问题。 基本原理 .NET平台的编译格式是依靠MSIL中间语言,运行时即时编译(JIT)成CPU指令,对Win 32 的PE格式进行了扩展。程序集是自描述的,本身蕴藏了丰富的元数据信息。MSDN中有一段代码... 阅读全文
posted @ 2013-06-28 09:16 信息化建设 阅读(8158) 评论(9) 推荐(16) 编辑
摘要:自从掌握了单元测试的要领之后,经常写测试,做测试,也非常喜欢做单元测试。我的文章《数据采集:完美下载淘宝Ip数据库 简单的程序节省60元人民币而不必购买数据库》中的代码,也是个测试方法,源代码在QQ群中公布过。 现在把它公开给大家,分享这个Ip地址信息下载功能的测试代码: [TestMethod]public void IPLibraryTest() { string w... 阅读全文
posted @ 2013-06-27 09:15 信息化建设 阅读(2752) 评论(3) 推荐(3) 编辑
摘要:今天是个特别的日子。上证指数从2200点左右跌到1800多点,中午之后回升到2100来点,最后收盘的时候还是跌破1900点。只要还是低于2000点,十年间的股票市场相当没有发展。地产股和银行股首当其冲,基本上全是跌停。 于是有著名的学者爆出,银行缺钱投资实体经济,需要增加流通中的货币供应量。每天5亿的利润额,我想你不会相信银行真的缺钱。有良知的经济学家分析说,银行在过去把大量的资金用到金融理财产... 阅读全文
posted @ 2013-06-26 09:20 信息化建设 阅读(3348) 评论(19) 推荐(11) 编辑
摘要:做技术经常要查询资料,也有保存收藏资料的习惯。 博客园是个好地方,资料的质量比较高,整体关注某一个系列的资料,从这边入手会比较好。我自己也经常写博客,收集有用的技术资料。在前年,我设计了一套Data Solution解决方案,后来因多方原因搁浅,没有深入下去。具体内容请参考相关连接,地址是http://www.cnblogs.com/JamesLi2015/archive/2011/11.html。Data Solution中有一个重要的组件是爬虫。从博客园中抓取文章到本地文件,可以保存为DOC,PDF,XPS,EPUB等多种格式。最近在群(QQ群: 1637 21037) 里面有需求是要备份 阅读全文
posted @ 2013-06-23 16:44 信息化建设 阅读(6672) 评论(45) 推荐(12) 编辑
摘要:在做查询时,经常遇到一类需求。请看下面的SQL语句查询 SELECT * FROM CompanyWHERE CompanyCode='Kingston' AND Suspended='N' AND DbServer='James\SQLEXPRESS'这里有三个条件,在界面中,也就是我们需要增加三个控件来供用户输入值,再拼接成SQL发送到服务器。再来看一下界面中的情况,根据客户名称,下单日期... 阅读全文
posted @ 2013-06-22 08:45 信息化建设 阅读(1886) 评论(1) 推荐(0) 编辑
摘要:1 读取操作系统和CLR的版本OperatingSystem os = System.Environment.OSVersion;Console.WriteLine(“Platform: {0}”, os.Platform);Console.WriteLine(“Service Pack: {0}”, os.ServicePack);Console.WriteLine(“Version: {0}”, os.Version);Console.WriteLine(“VersionString: {0}”, os.VersionString);Console.WriteLine(“CLR Versi 阅读全文
posted @ 2013-06-21 12:09 信息化建设 阅读(9299) 评论(34) 推荐(47) 编辑
摘要:著名的NUnit是单元测试的优秀工具,但是要在一个测试方法中启动GUI程序,比如Windows Form界面,这比较难做到。NUnitForms就是为解决这个问题产生的,它是NUnit的一个扩展程序,可用于测试Windows Forms 类型的程序。 首先从NUnitForm网站下载安装程序,地址是 http://nunitforms.sourceforge.net/index.html,并执行... 阅读全文
posted @ 2013-06-21 09:08 信息化建设 阅读(3000) 评论(1) 推荐(2) 编辑
摘要:曾经做网站类型的程序时,经常需要收集客户端的访问数据,然后加以分析。这需要一个Ip数据库,数据表中显示Ip所在的省份市区等信息。网络上有流传的Ip纯真数据库,一些公开的Web服务也可以查询Ip地址信息,但是24小时内超过查询次数就需要购买商业授权,网站myds.net上提供了Ip数据库下载,不过需要收取60元人民币。 最后一种方法,也就是不花钱的办法,用C#调用淘宝的Ip地址库,准确率高,而且查... 阅读全文
posted @ 2013-06-20 09:17 信息化建设 阅读(11240) 评论(33) 推荐(10) 编辑
摘要:数据库中设计的表结构,它的定义如下 CREATE TABLE dbo.ADUSER( RECNUM DECIMAL (28) IDENTITY NOT NULL, USERID NVARCHAR (10) CONSTRAINT DF__ADUSER__USERID__13F1F5EB DEFAULT ('') NOT NULL, USER_NAME NVARCH... 阅读全文
posted @ 2013-06-19 12:57 信息化建设 阅读(2518) 评论(0) 推荐(1) 编辑