最近做了两个项目,一个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 剩下的年后再说吧……
程序员很累,全天下的程序员春节快乐!
相关推荐
10.0.17738.1000.ini 10.0.17746.1000.ini 10.0.17763.1369.ini 10.0.17763.1697.ini 10.0.17763.1971.ini 10.0.17763.1971.ini 10.0.17763.2213.ini 10.0.17763.2213.ini 10.0.17763.2268.ini ...
蚂蚁怎样走最近.doc
什么是Magento........................................................................................................................6 Magento的元素和专业术语.............................................
json我们在网络请求中经常用到,最近最火的微信小程序开发中更是必不可少。平常我们都是用net.sf.json.JSONObject来把对象转为json,但是当对象是一个对象列表如:List<Users> list =new ArrayList(); 用户列表对象...
- `lately`: 最近... - `as soon as`: 一...就... - `afterwards`: 之后... - `temporarily`: 暂时... - `earlier`: 早些时候... - `now`: 现在... - `anyway`: 无论如何... - `in the meantime`: 在此期间....
微型电动汽车离智能化最近.pdf
1.1. 简介 ............................................................................................................... 8 1.2. 面试题集合(一) .........................................................
在本教程中,我们将深入探讨如何使用Leaflet和Turf.js这两个JavaScript库来计算离给定点最近的线上的点坐标。Leaflet是一个流行的开源库,用于创建交互式地图,而Turf.js则是一个地理空间分析库,提供了丰富的地理...
最近项目实验发现导入工具程序后项目有错,查看发现sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用,找不到相应的类。 二、原因分析 冲浪后发现JDK中的lib\tools.jar和JRE中的lib\rt.jar已从Java SE 9中...
6. **回滚机制**:如果发现新安装的补丁导致问题,OPatch提供了一个回滚功能,通过`opatch rollback`命令,可以撤销最近一次的补丁安装,帮助恢复到之前的状态。 7. **补丁冲突和依赖**:OPatch会检查补丁之间的...
《Reflector 7.1.0.143:反编译神器的最新迭代》 Reflector是一款广受程序员喜爱的反编译工具,它的最新版本7.1.0.143带来了诸多改进和增强,旨在提升开发者的代码分析和调试效率。此版本的发布表明开发者对...
16第16讲 这样写工作汇报,让你离升职加薪最近.pdf
2. **精度与速度平衡**:TensorRT提供多种精度模式,包括浮点32位(FP32)、浮点16位(FP16)、整数8位(INT8)和最近引入的混合精度(TF32),用户可以根据应用场景在性能和精度之间做出权衡。 3. **动态形状支持*...
4. 多种缓存策略:如LRU(最近最少使用)、LFU(最不常用)等,可根据需求调整。 5. 访问控制:可以设置IP黑白名单,限制特定用户的访问行为。 6. 身份验证:支持多种身份验证机制,如Basic、Digest等,增强了系统...
例如,可以将请求路由到最近的CDN节点,或者为不同地区的用户提供不同的内容。安装和配置Nginx的GeoIP模块需要先下载并解压GeoIP和GeoLiteCity数据库,然后配置Nginx的配置文件,指定数据库路径。 总的来说,GeoIP....
解决: Could not find play-services-basement.aar ...最近google 出现不少问题 1、google 欧洲反垄断罚金 2、android 系统 手机策略变革 部分goolge依赖也编译不了 ,,,,,,,,,,,
C#实体类生成器...............................................
最近项目遇到很多使用jsjiami.com.v7的程序,使用AST方式(依赖Babel插件)实现的JS代码净化工具,包括常见的几种类型:字面量还原(全局、代码块),死代码清理、扁平化还原,条件、循环语句规范化,特殊函数清理,...
系统效果评估...............................................................................................................355.1 评价指标..................................................................
3. **系统恢复**:如果病毒感染严重,可以考虑使用系统还原功能恢复到未感染的状态,但要注意这可能会丢失部分最近的数据。 4. **数据备份**:在清除病毒前,备份重要的个人文件,以防病毒破坏后无法恢复。 5. **...