最近做了两个项目,一个B/S的,一个C/S的。
我以前是做java开发的,不过最近自学了C#正好试试手。java里面的框架很多,而且成熟好用,学了C#后也看了关于.net开发的框架跟工具。
似乎搞.net开发的是不太喜欢用框架,不像java那样追捧框架。Hibernate在java的开发中很流行,而且Hibernate也有.net的版本NHibernate。花了几天时间看了NHibentate,其实用法跟Hibernate差不多,不过就是配置上有些繁琐。又花了两天时间用codesmith把NHibernate给封装了,这样以后开发就方便了。
C/S:党费管理系统。
这个活是学院老师给介绍了,给校党支部做一个党费管理系统。以前的党费管理都在excel中进行,就是想把所有的管理操作集成起来,我跟史听了老师的需求后,觉得用java做B/S的桌面app有些不妥,java做web app当然没得说,但是做桌面app真是挺恶心的,想起我们以前做的一个酒店记账系统,界面巨难看,而且巨慢。正好我看了C#,派上用场。
开始我们的分工是史画界面,我把后台架子打起来。本来后台史想用nettiers,但是我没看过,最后还是用了大家都熟习的NHibernate。正好自己封装的Hibernate也派上用场。
powerdesinger设计的数据库感觉结构简单,三个表
其实感觉如果不用框架的话一个表就OK,只不过荣誉字段多了点。codesmith生成工程后就搭好了后天,然后导入我打包的Hibernate
测试OK就把史的界面那过来开发。开始我们俩分析的挺简单的,就是简单的CRUD,仔细分析后才发现并非如此。党费管理是分层的,不论那一层数据发生变化,其他各层都发生变化,不过还好有Hibernate,面向对象让开发简单了不少。
不过在开发工程中有一个很棘手的问题是Hibernate的Session管理,每个按钮,每个事件几乎都要涉及到Session的,而Hibernate的Session的建立是很耗费资源的,每一次事件都要new Session的话,系统吃不消。最后我们的用了最笨的方法,程序启动创建一个静态的Session,每个界面、按钮、事件需要Session的时候就把这个Session传递过去,测试勉强过得去,不过有事报异常:Session is Closed!这个异常不经常出现,忍了,反正是B/S,就一个用户操作,就这样做完了这个项目,老师回去用着感觉还可以,有些细节方面反馈给我们,我们改了后这个项目就算结束了。
B/S:Onninen OB IIS
我跟史刚接这个项目的时候都笑了,感觉简单,一个礼拜搞定。没想到真的没那么顺利。
开始谈完需求感觉还OK,美工要求不高。客户说晚上有人跟我细谈需求分析,我把他给我的需求文档看了看,有了个大概了解。晚上9点电话,一看号码惊了,+35……。长这么大第一次接国际长途,当时手都僵了,蛋定!还好我喂了一声对方回答的是汉语。聊完后感觉网站的需求差不多了,晚上又跟史沟通一下,打算明天开始……
这个网站已经有了域名和空间了,我们联系了空间客服后当时就傻了,php的空间。我跟史都是java出身,php都没碰过,本来觉得没法接了。后来仔细看看他们的空间说明看的了支持asp.net。觉得还有戏,但是我们不能使用java了,还是用学了不到两个月的asp.net吧。史在公司用的是C#,而且用nettiers。后台由他搭建,我弄弄前台界面。
没想到不顺一个接着一个,空间的数据库是mysql,用nettiers的话要在服务器上安装插件……唉,没辙。还是用NHibernate吧。其实我挺担心的,上次做B/S的时候Session问题现在还没解决。
搭好架子传到空间上测试……不能运行,各种错误。联系了客服我芬特了……他们的空间支持的.net版本是1.0和2.0。等于说我们用.net3.5做的应用根本不能运行。
还是没有放弃,更换了编译环境后经过跟客服一步步沟通终于能运行了。
开发还算顺利,但是Session问题越来越明显,动不动就session is closed!哎~,绞尽脑汁,看了一天的NHibernate源码,上了好多论坛,才发现原因:事务提交的时候session已经关闭了。但是怎么解决,session自己close了。又花了半天的时间把打包的Hibernate重写了一遍,不让session自动close。问题算是解决了。以前做java开发的时候Hibernate session的管理都是有spring管理的,也没太注意,这次算是个教训吧,多看看源码。
后来的开发也不怎么顺利,各种问题……终于在大年二十八完成了 v2.0 beta 剩下的年后再说吧……
程序员很累,全天下的程序员春节快乐!
相关推荐
加油站消防安全应急预案.docx最近.docx
蚂蚁怎样走最近.doc
什么是Magento........................................................................................................................6 Magento的元素和专业术语.............................................
json我们在网络请求中经常用到,最近最火的微信小程序开发中更是必不可少。平常我们都是用net.sf.json.JSONObject来把对象转为json,但是当对象是一个对象列表如:List<Users> list =new ArrayList(); 用户列表对象...
1.1调查方法 ............................................................................................................................................ 6 1.2术语界定 ...................................
微型电动汽车离智能化最近.pdf
1.3 GSM 术语.......................................................................................................................................... 7 2 AT 指令 .....................................
1.1. 简介 ............................................................................................................... 8 1.2. 面试题集合(一) .........................................................
Reflector7.1.0.143.zip 最近版本
最近项目实验发现导入工具程序后项目有错,查看发现sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用,找不到相应的类。 二、原因分析 冲浪后发现JDK中的lib\tools.jar和JRE中的lib\rt.jar已从Java SE 9中...
C#实体类生成器...............................................
解决: Could not find play-services-basement.aar ...最近google 出现不少问题 1、google 欧洲反垄断罚金 2、android 系统 手机策略变革 部分goolge依赖也编译不了 ,,,,,,,,,,,
最近做一个编程,用C#调用类似ssh,ftp,runas,adb shell之类有中间输入,中间输出的.网上说使用Process.StartInfo,Process.StandardInput,Process.StandOutput之类的,但是每次都在StandardOutput.Read/ReadToEnd卡死,...
1 起步 1 1.1 关于版本控制 . . . . . . . . ....1.1.1 本地版本控制系统 ....1.1.2 集中化的版本控制系统 ....1.1.3 分布式版本控制系统 ....1.2 Git 的历史 ....1.3 Git 基础要点 ....1.3.1 直接快照,而非比较差异 ....
tomcat9 for eclipse4.6 插件net.sf.eclipse.tomcat_9.0.1.jar,最近正在学习开发servlet,但是在本地配置Eclipse的时候发现tomcat的插件并不方便安装,尤其是Eclipse4.6的版本已经不兼容...新的方式又会受到国内网络...
最近要求做cad文件的第三方开发,尝试申请了Teigha的免费试用版(要注册账号申请,官网上有教程,不懂得可以咨询我,在下方评论也可以),以下是我总结的基础内容 1.一个工程制图文件,也就是drawing(图纸),...
5 视图 ...................................................................................................................................................42 5.1 添加示例视图 .............................
求最近素数.cpp
Express.js Guide.pdf 最近新出的电子书
最近需要在C#中使用Redis,ServiceStack.Redis的4.0版本已开始收费,之前版本Bug较多。建议使用StackExchange.Redis,支持异步的客户端,据说性能比ServiceStack.Redis更好,而且据说Stack Overflow也是使用的这个...