首页 新闻 搜索 专区 学院

如何将Asp.Net网站通用的一些功能模块化?

0
悬赏园豆:20 [已解决问题] 解决于 2008-10-26 04:38

各种网站中都会有一些通用的功能,比如网站帮助、来访统计、数据库备份、IP屏蔽、验证码、站务日志等等,这些功能通常都会使用到数据库和用户界面(配置与呈现)。

我想将这些功能作为独立的项目来开发和维护,然后在多个网站中使用它们,使用他们就像是使用插件那样,而一旦某个功能进行了改进,所有网站都可以轻松的随之更新。

不过我还没有个很好的思路,也没找到合适的相关资料,所以在这里请各位赐教,谢谢。

斯克迪亚的主页 斯克迪亚 | 老鸟四级 | 园豆:4124
提问于:2008-09-17 00:42
< >
分享
最佳答案
0

提示:

这么做你将遭遇登录的问题,解决好登录的问题,就没有太大问题了。

 

网站帮助,通常不需要登录,因此也不存在太多的问题。

来访统计,可以参考一下雅虎统计一类的在线统计的方式。

数据库备份,用数据库的功能应该会比额外开发要方便。数据管理是可以独立成一门单独的学问的。

IP屏蔽,一个服务会更有价值。

验证码,也应该是一个服务。

站务日志,...不解...

最麻烦的应该就是界面了,它本身具备很大的工作量,正如你经常需要更新N个功能,而N个功能可能涉及到M个界面的修改,若都要不一致,将会导致你的修改量并没有下台阶。事实上如果是一个集大成的网站我们并不太需要N个网站的同一个功能有N种不同,倒是根据不同的需求会有不同的表现形式(客户A、B对相同的功能有不同的界面需求)。因此我们控制变化的能力也只能在功能点上。

究竟是SOA更好还是CSS更好,或者用上WebPart等个性化配置的方式更好,也只能看具体需求。

volnet(可以叫我大V) | 小虾三级 |园豆:720 | 2008-09-17 02:03
其他回答(1)
0

可以做成WebControl吧,参考asp.net的身份验证的一系列

首先提供MembershipProvider加配置的形式来决定使用的Provider,这里是Provider Pattern

随后提供一个方便的比如基于SqlServer的Provider作为默认的提供者,同时提供一个配置数据库的脚本

可以有选择性地提供一个HttpModule来控制这些内容,比如在各个阶段进行Log

最后提供一个控件,以后页面只要引用控件就可以了,比如asp:Login控件,可以使用Provider进行,保证零代码

Gray Zhang | 园豆:17610 (专家六级) | 2008-09-17 11:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册