宁可生命中多点挫折,也不愿意生命中只是铺满了鲜花,在我们将要咯嘣的那一刻,能够自豪的说一句,来过,今生无悔!
废话不多说,直接上代码: // try之前开始事务 Meta.BeginTrans(); try{ // do something // 强烈建议,尽可能做到只有一次提交事务,以免混乱 Meta.Commit(); } catch{ // 出错了,需要回滚事务 Meta.Rollback(); // 继续向外抛出异常 throw; } XCode还支持多级事务,实际上,除了第一级事务是真实的事务外,第一级以上的事务全部都是事务计数器加一减一而已,BeginTrans加一,Commit和Rollback减一,减到0时执行真正的提交或回滚。
对于一个框架来说,仅有基本的CURD不行,NewLife.XCode同时还提供了一个非常宽松的方式来使用高级查询,以满足各种复杂的查询需求。 (本文同样适用于其它任何数据访问框架) 先上图看一个复杂查询的效果图: 这里有8个固定的查询条件和1个模糊查询条件,加上多表关联(7张表)、分页、统计,如果用传统的做法,这个查询会非常的复杂。
以下只是举例! 环境: 1,通用实体库CommonEntity,里面有管理员类 class Administrator : Entity, IAdministrator where TEntity:Administrator{ static TEntity Logi...
1,使用表达式。如下,缺货的产品用红色,别的绿色。 实际上,就这个表达式: (Int32)Eval("Num")
这个题目,不方便使用递归! 直觉告诉我,可以用两层遍历,外面一层是维数,里面一层是每一维。但实际上,要做起来很难! 最后决定最外层循环用元素个数,里面配合使用维数的循环,最终解决问题! static void ArrEnum(Array arr, Action func) { Int32[] ix = new Int32[arr.
ASP.Net页面绑定时,标题超过20则省略,常规做法: Eval("Title")==null?"":(Eval("Title").ToString().Length
(0415增加简单的反流程混淆功能,满足日常使用需要,不再更新,转向ILSpy,见12点后面) Reflector过期?这可不行!自己动手吧! 看雪上拿到Reflector 7.0的源码,根据自己需要稍作修改,自己编译,就这么简单! 为了便于使用,自己做了一些修改: 1,移除所有授权相关代码和资源 2,移除所有报告错误相关代码和资源 3,移除ReflectorInstaller相关代码和资源,大小由4.3M(混淆压缩)变成2.8M(未混淆压缩) 4,增加代码着色,原来只有黑色和深绿色,看起来要命。
虽然是充血模型,虽然是强类型,XCode同样支持遍历任何数据库结构,并以强类型(相对于DataSet等字典访问)方式读取数据。 要遍历数据库结构是很容易的事情,绝大多数Orm都支持。 但是在没有实体类的情况下以强类型方式读取数据,就稍微有些复杂。
我们的目标是做一个ASP.Net版本的内容管理系统。 这个活动讲给我们带来以下好处:1,团结协作的团队精神。有了合作经验的队友,是将来做**项目时的最佳选择;2,得到一个强大的内容管理系统。团队内部开源,对外只免费。
上周发布了《改进版CodeTimer及XCode性能测试》,展示了NewLife.XCode在性能上的表现。实际上NewLife.XCode是一个很平凡的ORM,只是在分页和缓存方面多下点功夫,注意每一个细节,才能保证在数据量大、业务繁忙的环境中得以保持良好的性能。
前天晚上,在一个页面上拖了一个ObjectDataSource,配置数据源时发现选择业务对象的列表没有列出当前项目的实体类,甚至连NewLife.CommonEntity中的实体类也没有列出来。
调用A a=new A()请问输出是什么?为什么? class A { static A() { Stopwatch sw = new Stopwatch(); sw.
在测试XCode性能的时候,发现每次执行测试程序得到的执行时间差距实在太大,于是采用了老赵的CodeTimer来计算线程时间,后来因为测试程序稍微有点复杂,在使用匿名委托时会有参数的“打包”过程,于是改进了CodeTimer,测试功能代码通过实现一个继承自CodeTimer的类来实现,避免每次迭代时参数“打包”的过程。
忙忙碌碌有一年!做了很多东西,到头来,似乎又什么都没有做。人继续变老,程序继续改进。 这段时间从我们各个系统抽取了基础的常用的部分,整理后形成了一个XCode示例项目,包含三部分:DLL引用程序集、Web网站、YWS实体类库。
模版引擎XTemplate是一个仿T4设计的引擎,功能上基本与T4一致(模版语法上完全兼容T4,模版头指令部分兼容)。 自己设计模版引擎,就是为了代码生成器、网站模版、邮件模版等多种场合,也就是要能拿出来单独使用、功能强大并且容易控制的。
在开发某些需要跟第三方平台交互的项目时,往往需要解析或者构造符合对方协议要求的数据格式,该操作在.Net中有个很漂亮的名字——序列化! 在实际使用中,XML序列化用得比较多,二进制序列化也不错,只是可控性很低。
网络上的许多插件都不错,我比较看好vsPaste,可惜很久没更新了,在vs2010中复制代码的时候,会出现中文乱码的情况。据说是vs2010的BUG。 本插件修改自vsPaste,作者的网站无法打开,无法联系作者,抱歉! 主要修改如下: 1,修正从vs2010复...
有了前面的《动手》,基本上可以进行开发了。本篇我们来试试XCode的基本功功力如何,测试在单表一千万业务数据的环境下查询的速度,添删改等没什么可测试的。其实应该说是XCode开发模式的功力,XCode组件仅仅是处理分页而已,而XCode开发模式为高性能开发提供了更多的建议。
本篇才真正是XCode教程第一篇。《速览》是为了以最简洁的语言最短小的篇幅去吸引开发者;《简介》则是对XCode组件和XCode开发模式的一个整体介绍,让开发者从宏观的角度去理解XCode;《共舞》把XCode提到了一个新的高度,让开发者感受到它的贵族血统! 先抛出三篇来吸引人,再出《动手》,其实就是吊人胃口。
4,ORM组件XCode(与ObjectDataSource共舞) XCode为了能更方便的解决大部分问题,不得不“屈身”于ObjectDataSource。 先上一个经典例子(ObjectDataSource+GridView)(ObjectDataSource): ...
XCode是一个轻量级的ORM组件(对象与关系数据库映射),提供以面向对象的方式操作数据库的功能,能够解决90%以上的数据库操作场景。 做为X系列组件最重要的一员,XCode秉承了简单实用的特点,力求以最简单的做法,解决最普遍的问题。
啥也不说,上图: 这是最基本的增删改查代码! 符合X系列组件的一贯作风,不求万能,只求简单实用! 不支持多表查询,所以不是万能的,仅仅支持单表,所以是简单的,增删改查都得到了直接支持,完全能解决80%以上的场景,所以是实用的。
我99年开始学习编程,到现在已经十一年!我设计过CPU(虽然只是十六位的实验室产品);编写过微指令(汇编指令的下一层);我自认为还比较熟悉逆向工程(看雪上有我的影子);做过仿C语言编译器;研究过CPU流水线设计、缓存算法;上面的做过网站、下面的写过驱动、搞过病毒,中间的就不说了;黑过别人,被抓过;B...
1,给SelectedValue赋值时,如果Items中没有该项,则报XXX异常;2,在绑定时,如果数据源返回null,它将不做任何动作,而我们一般习惯清空;3,在绑定到数据源,而数据源参数依赖于别的控件时,会触发两次数据源绑定。
调试一个站点,其中用到序列化,报异常“未找到C:\WINDOWS\Temp\xxx.cs文件”,给C:\WINDOWS\Temp权限后(Everyone完全控制),问题解决。 取消C:\WINDOWS\Temp的Everyone权限后,问题无法重现…… 刚才另一个地方重现了,错误如下: 无法生成临时类(result=1)。
项目开源地址:http://www.codeplex.com/XProxy 技术支持地址:http://www.nnhy.org/bbs/dispbbs.asp?boardID=5&ID=391&page=1 QQ:99363590 XProxy是一个支持插件的基础代理程序集。
XCMS V1.0 Beta1 发布 说明: XCMS是一个内容管理系统,是新生命开发团队利用业余时间开发的第一个成功项目! XCMS目前只有基本的文章发布、栏目管理、评论、用户管理和模板管理等功能。
去年为一家公司做了一个软件验证系统,所以使用该公司软件的用户都需要购买充值卡,并登录到服务器校验。服务端是IIS+ASP.Net设计的,为了保证服务端的安全(其实几乎每天都被攻击),客户想出一个办法,使用代理软件来冒充真实的服务器提供服务,而可以同时运行很多个代理来承受外部的攻击,这就是HTTP反向代理的原型了。
六、逆算准备 根据J和K的关系,很容易就可以根据数组个数计算出实际字符个数。 建立相应的字符对象数组,并使用密码表中不存在的字符(这里是空格符)初始化。 为Bts属性指定一个和原数组个数一样的全0数组,用于存放结果, 而Bts2中放置原数组。
一、准备工作 首先处理以下Calc函数,以方便查看。其实就是变量重命名工作,此时多亏了VS2005的帮忙。 输入字符串str,输入是字节数组引用; i是字节数组的循环变量;在后面的正式的程序中,将使用大K做为字节数组的定位变量。 k限定了最大字符串是18,原文是k
先引用midea0978兄的原文,希望midea0978兄不要介意^_^最近碰到这样一个算法,过程并不复杂,但是思考了很久也没有找到对应的逆运算算法,这里发布出来,希望有高人能够提供思路, 如果有具体的代码实现就最好了。
这些天都在绞尽脑汁地想怎么样设计一个授权方式来保护我的组件,今天看了一下同事从广州带回来的Tech2007的讲稿,里面提到了 微软的软件授权及保护服务(SLPS),对其非常感兴趣。 园子里也有朋友曾经介绍过:http://www.
去年年底的时候曾经发过一个数据采集器《网页数据采集器》,那是专门针对某一个网站来进行采集的,如果需要采集新的网站内容,就需要修改代码并重新编译。 昨晚完成了一个带智能策略的采集系统。其实,这个策略的方案三年前就想好了,那时候打算用VB做,做了一半就搁置了。
昨天碰到了挺郁闷的错误,我写的一个递归函数,形成了死循环。代码如下: 1 2'递归删除频道,参数:频道ID 3Sub DeleteBoard(bid) 4 '删除该频道所有新闻 5 News.
0,安装VC6英文版。1,安装WinXP DDK。要完全安装,不然会比较麻烦。2,安装DS。最好也完全安装,要不也是很麻烦。3,DS安装好以后,运行"开始菜单"->"Compuware DriverStudio\Develop"->"DDK Build Settings"。
标 题: 从reflector实现看.net的混淆与反混淆技术【原创】作 者: dreaman时 间: 2006-12-31,13:07链 接: http://bbs.pediy.com/showthread.
虽然这一篇已经是“下”了,但是我并没有研究清楚“自定义控件设计时如何把属性写入到aspx中”这个问题。不过,我选择了另外一条路,做了点手脚,让控件把属性写入到aspx中去了。其实,即使有人肯定的告诉我,在上篇中提到的ControlSerializer类的SerializeControl方法就是用于把控件属性写入到aspx中去的,我也实在没办法利用它,它的位置太“深”了。
如何通过继承GridView来修改在设计时绑定数据源时自动生成的ASP.Net代码? 具体情况是这样的,ObjectDataSource绑定到实体类,GridView帮定到ObjectDataSource,这时候,GridView会获取实体类的构架信息,并自动生成一些列,HeaderText就是实体类的属性名,是E文的,我现在想在GridView的CreateColumns方法中进行拦截这个生成过程,硬是把E文改为对应的中文。
公司开年终技术讨论会,因我提出NH的性能太低,经理决定进行一次测试。当然,测试要合理、普遍、公平。NH肯定比ADO.Net慢,这是不可否认了的,但究竟慢到什么程度,差别有多少,得有一个量来衡量。我打算对一个表进行添删改查每个操作做一千遍,为防止NH可能的缓存,打算在Select的Where条件使用随机参数。
继承TextBox,override各个方法,分别下断点调试。ctor为构造函数在构造函数中,通过代码:this.Text = (new Random(DateTime.Now.Millisecond)).
我想设计一个完善的缓冲方案,用于在程序的各个地方缓冲数据。应用程序级的Cache和Application大家都懂,就不说了用户会话级的Session也懂,也不说我要说的是小一点作用范围的。线程级:在且仅在某个线程内有效的缓存。