首页logo
  •  

jonllen

金龙,目前就职于一家软件公司,从事Java和.Net信息安全开发设计。

个人档案

jonllen
心情闪存 | 给他留言
妮称:jonllen
来自:中国. 湖南. 湘潭
简述:金龙,目前就职于一家软件公司,从事Java和.Net信息安全开发设计。
博客日历
当前位置: 首页 > Asp.Net > 我的iKnow

我的iKnow

分类:Asp.Net

最进忙于做一个问答系统,类似与百度知道,值得一题的时这次是全权由我来负责的,包括需求分析、数据库设计、程序前后台架构的搭建,项目进度的跟进。第一次让我把项目从头做到尾,发现有些地方还是心有余而力不足,比如系统开发进度控制等,有些都没事先的安排好,当然还会遇到一些大大小小的技术问题,不过到今天系统算是开发得差不多了,还剩下2个页面制作未完成的功能,比预期的时间提前一个星期。

整个系统分为前后台2个工程,前台是一个独立网站项目,而后台则在我们公司的产品IBOX系统的插件内,其实整个iKonw也将是作为IBOX系统的插件存在,客户在买我们的产品时候可以选择是否需要此插件,在进行安装的时候就只部署选择的项目,由于前后台是独立在2个不同的项目里面,唯一相同的就是访问的同一个数据库,但是有一些系统配置我是直接用XML文件来保存的,我又不想用虚拟目录,所以给前后台通讯造成了一点麻烦。

单例类

所谓单例,就是说在全局里只存在一个实例,这个实例会在被频频使用,比如说系统的一些配置参数信息,或是一些过滤的关键字,访问这些信息的如果每次都要去读取配置文件的话就太麻烦了,这些内容我只希望读取一次配置,这个时候就可以考虑使用单件类,先来看看我的系统配置单件吧。

系统配置单件类

这个在我的iKnow里系统配置单件,在LoadConfig读取配置文件的时候用了两个try、catch,这也是没有办法,因为我想在前后台都通用。SysSettingPath是xml配置文件路径,默认读取Web.Config内配置,如果读取失败则默认读取~/Question/SysSetting.xml,这个路径是后台存在的,所以后台Web.Config没有配置SysSettingPath也能正确读取配置文件,而前台就一定要配置SysSettingPath路径,因为前台和后台是不在同一个网站内的,要读取后台的配置文件SysSettingPath就一定要是后台~/Question/SysSetting.xml文件的绝对地址,这样才能保证前后台读取的是同一个配置文件。

凡事有利必有弊,单件类只读取一次配置文件,如果我修改了xml配置文件,那改怎么办?上面不是有个LoadConfig方法吗,再调用一次不就重新读取了配置文件,是的,在后台可以直接修改xml配置文件,故此我还多写了个SaveConfig方法用来保存配置文件。可是我程序前后台分开,引用的根本就不是同一个dll,不同的SysSettingAgent实例,那如果后台修改了xml配置文件怎么让前台立即生效,或是通知前台重新读取xml配置文件呢?后台我只想到了一个很蠢的办法,在SaveConfig修改配置文件的时候访问前台一个页面,然后再页面cs里让SysSettingAgent重新读取一次配置文件,即是上面的Studio.Net.HttpAgent.ReadRemoteFile(ConfigurationManager.AppSettings["NotifyUrl"] "?t=sys")这一句,重新读取前台接受通知改变的页面,所以后台需要在Web.Config配置NotifyUrl前台接受通知的页面地址,这样后台修改xml配置文件后前台就能及时读取最新的配置,而在NotifyUrl页面内要做的就是LoadConfig重新读取配置文件。

NotifyUrl页面

JavaScript弹窗

由于前台有好几个地方用了js弹窗,实际上就是页面内一个层,要实现说难不难,要说做好考虑周到着实又不容易,我又不想依赖于jQuery,更不想用它的插件,于是乎搬于出了我以前写的一个自定义模拟弹窗层功能脚本,修正了不少bug,也新增了几个功能,实现的效果如下图。

js弹窗效果

实现的功能有:

1.支持多个弹窗,支持弹窗中打开弹窗。

2.支持点击遮掩层、Esc键关闭。

3.支持拖拽、缩放大小。

今天完成了在ie内ifame缩放功能,修正ie内拖拽缩放ifame过快鼠标到ifame区域无法停止取消,清空拖拽过程中可能会选择内容的问题,ff不存在问题,发现在Chrome竟然存在ie里ifame区域的问题,我用div层遮掩部分后ie问题解决了而Chrome却不行,看来下次有时间还得要研究下这个问题。

Demo请见:摆脱JQuery—之自定义模拟弹窗层功能。

标签:Asp.Net iKnow,单件,js弹窗
  • posted@ 2009-11-23 00:29
  • update@ 2010-01-16 14:28:43
  • 阅读(11105)
  • 评论(0)

相关文章

评论
暂无任何评论。
发表评论
*必填
回复通知我
*必填

博文推荐