`
ol_beta
  • 浏览: 282087 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

最近...

阅读更多

最近做了两个项目,一个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 剩下的年后再说吧……

程序员很累,全天下的程序员春节快乐!

Technorati 标签: Hibernate,Nhibernate,Session,.net
分享到:
评论

相关推荐

    加油站消防安全应急预案.docx最近.docx

    加油站消防安全应急预案.docx最近.docx

    蚂蚁怎样走最近.doc

    蚂蚁怎样走最近.doc

    magento用户使用手册.pdf

    什么是Magento........................................................................................................................6 Magento的元素和专业术语.............................................

    com.google.gson.Gson.jar

    json我们在网络请求中经常用到,最近最火的微信小程序开发中更是必不可少。平常我们都是用net.sf.json.JSONObject来把对象转为json,但是当对象是一个对象列表如:List<Users> list =new ArrayList(); 用户列表对象...

    2012年中国网络购物市场研究报告.pdf

    1.1调查方法 ............................................................................................................................................ 6 1.2术语界定 ...................................

    微型电动汽车离智能化最近.pdf

    微型电动汽车离智能化最近.pdf

    GPRS模块AT指令手册.pdf

    1.3 GSM 术语.......................................................................................................................................... 7 2 AT 指令 .....................................

    世界500强面试题.pdf

    1.1. 简介 ............................................................................................................... 8 1.2. 面试题集合(一) .........................................................

    Reflector7.1.0.143.zip 最近版本

    Reflector7.1.0.143.zip 最近版本

    sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用已解决

    最近项目实验发现导入工具程序后项目有错,查看发现sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用,找不到相应的类。 二、原因分析 冲浪后发现JDK中的lib\tools.jar和JRE中的lib\rt.jar已从Java SE 9中...

    C#实体类生成器...............................................

    C#实体类生成器...............................................

    com.google.android.gms:play-gms:play-services:15.0.1

    解决: Could not find play-services-basement.aar ...最近google 出现不少问题 1、google 欧洲反垄断罚金 2、android 系统 手机策略变革 部分goolge依赖也编译不了 ,,,,,,,,,,,

    process.StandardOutput.ReadToEnd 卡死解決方法! 新方法!

    最近做一个编程,用C#调用类似ssh,ftp,runas,adb shell之类有中间输入,中间输出的.网上说使用Process.StartInfo,Process.StandardInput,Process.StandOutput之类的,但是每次都在StandardOutput.Read/ReadToEnd卡死,...

    GIT中文资源

    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

    tomcat9 for eclipse4.6 插件net.sf.eclipse.tomcat_9.0.1.jar,最近正在学习开发servlet,但是在本地配置Eclipse的时候发现tomcat的插件并不方便安装,尤其是Eclipse4.6的版本已经不兼容...新的方式又会受到国内网络...

    Teigha.Java 2019.02版本

    最近要求做cad文件的第三方开发,尝试申请了Teigha的免费试用版(要注册账号申请,官网上有教程,不懂得可以咨询我,在下方评论也可以),以下是我总结的基础内容 1.一个工程制图文件,也就是drawing(图纸),...

    Eclipse RCP Plug-in开发自学教程(Eclipse3.6)

    5 视图 ...................................................................................................................................................42 5.1 添加示例视图 .............................

    求最近素数.cpp

    求最近素数.cpp

    Express.js Guide.pdf

    Express.js Guide.pdf 最近新出的电子书

    StackExchange.Redis.dll

    最近需要在C#中使用Redis,ServiceStack.Redis的4.0版本已开始收费,之前版本Bug较多。建议使用StackExchange.Redis,支持异步的客户端,据说性能比ServiceStack.Redis更好,而且据说Stack Overflow也是使用的这个...

Global site tag (gtag.js) - Google Analytics