一直想写个总结,不过实在太忙了,所以一直拖啊拖啊,拖到现在,不过也好,有了这段时间的沉淀,发现自己又有了小小的进步。哈哈......

  原想框架开发的相关开发步骤、文档、代码、功能、部署等都简单的讲过了,就此了结本系列文章,经过这段日子的深入学习,发现本系列文章讲的还是太肤浅了,很多东西都没有讲到,也没有说明白。所以过段时间空闲些了,会继续从理论上来讲解怎么去设计一个框架(也算是给自己定个目标,加加压力),有了前面的代码了解,再学习理论相信大家也更容易接受了。

  小结

  学习如逆水行舟,不进则退,当能力达到一定程度后,能够应付各种工作需求时,就会处于一个安逸的状态,不思进取了,因为不停的学习会打乱这种状态,让自己过得不那么舒服。想要进步,想要更高的收入,只能使用各种外部压力逼着自己前行。

  会编写本系列文章,最初的想法是想刷刷博客园排名,想在园子的博客排行中能进到前三千名,可以和身边的朋友显耀一下(哈哈...大家没有想到吧);第二个目的就是想对自己这十来年的工作做一个总结并记录下来,以免以后忘记了某些知识点;三来是为了给自己增加压力,有压力才有动力,所以定好目标后先大声的说出来,告诉全世界的人,然后为了证明自己不是吹牛皮,只能全力以赴将这个目标实现。

  从第1篇到第25章《网站部署》,前后花了三个多月时间,一直挣扎在查资料、写代码和写文章之中,由于文笔一直都不太好,很多时候想表达一些东西时都不知用什么文字合适,有时要用到一些专有名词时怕引用错误,也得查询大量的文章,更多的时候是自己知识积累不足,定了一个标题后不知从何写起......就这样一点一滴的累积,不知不觉的完成了前面的章节。在编写的过程中有很朋友给了非常宝贵的建议,在此表示忠心的感谢,谢谢大家能给予大力的支持。

  对于本系列中介绍的快速开发框架,有不少朋友已经应用到实际的项目中了,对此我个人也特别有成就感,呵呵......当然它到底好不好,用过了才知道......嘿嘿......

  本系列针对的是中小型项目开发,从前期的准备、文档编写、功能模块设计、模型、应用的技术,到具体项目实施、数据库设计与创建、编码、功能实现,并讲解了一些核心模块的功能与使用,最后对测试与网站部署也简单的说了说。看过的朋友应该会知道,25篇章节中,大部分内容都是一带而过,讲得并没有太过深入,一方面是水平有限,自己的知识积累和沉淀不够。另一方面公司项目也比较紧,空闲时间太少,一直在忙。

  对于SubSonic3.0版ORM,在开发中确实存在着一些缺陷,不过因为有源码在,大多数还是可以直接解决的,之前发现不支持Oracle数据库,前段时间有朋友找出了官方写的Oracle底层T4模板,相信熟悉的朋友应该可以在这个基础上搞定这个问题的。SubSonic这个ORM框架已给很多人抛弃,这方面的技术文章也确实少了些,希望喜欢它的朋友大家一起来维护好它,毕竟个人时间与能力有限,有一些功能修复起来也确实很花时间。

  当然它带给大家的方便也是非常明显的,编码量的减少与开发速度的提升就不再重复提了,只要设计好逻辑层模板,配合Redis缓存,设计好数据库结构,对于高并发的大中型网站也是完全够用的。之前开发的一个电商类型的网站,用普通电脑做压力测试,1K并发完全没有问题;而合理使用临时表、历史表与汇总表,庞大的记录量也是小case。另外对于CS类型软件的开发,实际应用中调用也非常方便。

  代码Bug修改

  由于本系列中的项目是一边编码一边写博的,其中一些功能同我实际工作中使用的有较大的不同,基本上是编码实现到哪里然后章节就发表到哪里,没有经过生产环境中测试使用,所以前面章节发布出来的东西存在不少BUG,让不少朋友头痛了,呵呵。

  这段时间通过自己在实际项目中(一个外包电商网项目)的应用和一些朋友的反馈,重新对数据层、逻辑层模板和模块进行了优化与修改,解决了登陆异常问题和逻辑层调用的一些空异常问题,同时将UI层的FineUI升级到4.1.4最新版,大家下载后请比较一下代码更新到自己的项目中(原想在github.com中对源码进行共享管理的,可弄了半天也不知道要怎么搞,E文太差真是头痛啊)。

  另外还要同大家重点讲一讲的是,如果你不想升级到FineUI4.1.4,可以不用更新Dll文件夹中的FineUI.dll,UI层的文件也不用进行更改,而想要升级的朋友,下面内容需要同步更改。

  这次FineUI升级主要影响的是列表页,对编辑页面不受影响。

  列表页面的cs文件中,列表控件属性绑定函数Grid1_PreRowDataBound,原调用方式给取消了,需要进行下面处理

  修改为:

  aspx页面也有两个地方需要注意,一是列表中如果列过多,浏览器显示不全想出现横向滚动条时,需要标签<f:Grid>中添加表格的高度标签(如:Height="400px"),另外<f:window>取消了plain="false"这个属性,需要手动删除。

  好了,也不在说太多废话了,下面上最新代码

 从零开始编写自己的CSharp框架解决方案20141113.rar

 版权声明:

  本文由AllEmpty原创并发布于博客园,欢迎转载,未经本人同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。如有问题,可以通过1654937@qq.com 联系我,非常感谢。

  发表本编内容,只要主为了和大家共同学习共同进步,有兴趣的朋友可以加加Q群:327360708 ,大家一起探讨。

  更多内容,敬请观注博客:http://www.cnblogs.com/EmptyFS/

从零开始编写自己的C#框架(26)——小结的更多相关文章

  1. 从零开始编写自己的C#框架(1)——前言

    记得十五年前自学编程时,拿着C语言厚厚的书,想要上机都不知道要用什么编译器来执行书中的例子.十二年前在大学自学ASP时,由于身边没有一位同学和朋友学习这种语言,也只能整天混在图收馆里拼命的啃书.而再后 ...

  2. 从零开始编写自己的C#框架 ---- 系列文章

    目录: 从零开始编写自己的C#框架(1)——前言从零开始编写自己的C#框架(2)——开发前的准备工作从零开始编写自己的C#框架(3)——开发规范从零开始编写自己的C#框架(4)——文档编写说明从零开始 ...

  3. 从零开始编写自己的C#框架(17)——Web层后端首页

    后端首页是管理员登陆后进入的第一个页面,主要是显示当前登陆用户信息.在线人数.菜单树列表.相关功能按键和系统介绍.让管理员能更方便的找到息想要的内容. 根据不同系统的需要,首页会显示不同的内容,比如显 ...

  4. 从零开始编写自己的C#框架(25)——网站部署 【转】

    服务器安全部署文档 目录1.     前言.. 3 2.     部署环境.. 3 2.1         服务器环境信息.. 3 3.     磁盘阵列配置.. 4 4.     安装操作系统.. ...

  5. 从零开始编写自己的C#框架(25)——网站部署

    导航 1.关掉访问保护 2.发布网站 3.复制网站到服务器 4.添加新网站 5.设置网站访问权限 6.设置文件夹访问权限 7.控制可更新文件夹执行权限 8.设置“应用程序池”.net版本与模式 9.附 ...

  6. 从零开始编写自己的C#框架(20)——框架异常处理及日志记录

    最近很忙,杂事也多,所以开发本框架也是断断续续的,终于在前两天将前面设定的功能都基本完成了,剩下一些小功能遗漏的以后发现再补上.接下来的章节主要都是讲解在本框架的基础上进行开发的小巧. 本框架主要有四 ...

  7. 从零开始编写自己的C#框架(15)——Web层后端登陆功能

    对于一个后端管理系统,最重要内容之一的就是登陆页了,无论是安全验证.用户在线记录.相关日志记录.单用户或多用户使用帐号控制等,都是在这个页面进行处理的. 1.在解决方案中创建一个Web项目,并将它设置 ...

  8. 从零开始编写自己的C#框架(11)——创建解决方案

    这段时间一直在充电,拜读了园子中大神们的博文(wayfarer的<设计之道>.TerryLee的<.NET设计模式系列文章>.卡奴达摩的<设计模式>还有其他一些零散 ...

  9. 从零开始编写自己的C#框架(2)——开发前准备工作

    没想到写了个前言就受到很多朋友的支持,大家的推荐就是我最大的动力(推荐得我热血沸腾,大家就用推荐来猛砸我吧O^-^O),谢谢大家支持. 其实框架开发大家都知道,不过要想写得通俗点,我个人觉得还是挺吃力 ...

随机推荐

  1. NodeJs在Linux下使用的各种问题

    环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...

  2. 关于微软HttpClient使用,避免踩坑

    最近公司对于WebApi的场景使用也越来越加大了,随之而来就是Api的客户端工具我们使用哪个?我们最常用的估计就是HttpClient,在微软类库中命名空间地址:System.Net.Http,是一个 ...

  3. Hyper-V2:向VM增加虚拟硬盘

    使用Hyper-V创建VM,在VM成功安装OS之后,发现VM只有一个逻辑盘C,用于存储VM的操作系统.在产品环境中,需要向VM增加虚拟硬盘,便于将数据单独存储在不同的逻辑盘符中.在Hyper-V中,分 ...

  4. SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论

    异常汇总:http://www.cnblogs.com/dunitian/p/4523006.html#signalR 后台创建了一个DntHub的集线器 前台在调用的时候出现了问题(经检查是代理对象 ...

  5. C++11特性——变量部分(using类型别名、constexpr常量表达式、auto类型推断、nullptr空指针等)

    #include <iostream> using namespace std; int main() { using cullptr = const unsigned long long ...

  6. [C#] 进阶 - LINQ 标准查询操作概述

    LINQ 标准查询操作概述 序 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> ...

  7. css居中div的几种常用方法

    在开发过程中,很多需求需要我们居中一个div,比如html文档流当中的一块div,比如弹出层内容部分这种脱离了文档流等.不同的情况有不同的居中方式,接下来就分享下一下几种常用的居中方式. 1.text ...

  8. ZKWeb网页框架1.1正式发布

    发行日志 https://github.com/zkweb-framework/ZKWeb/blob/master/ReleaseNotes/ReleaseNote.1.1.md 主要改动 添加EFC ...

  9. 【夯实PHP基础】PHP数组,字符串,对象等基础面面观

    本文地址 分享提纲 1.数组篇 2.字符创篇 3.函数篇 4.面向对象篇 5.其他篇 /*************************** 一.数组篇 Begin***************** ...

  10. SVN版本冲突,导致出现Files 的值“ < < < < < < < .mine”无效

    只要根据错误提示,找到相应文件夹下的\obj\Debug文件夹下的 相应名字.csproj.FileListAbsolute.txt, 打开并删除含有'<<<<<< ...