大凡Context,根据单词的字面意义,我们大概都知道是关于某些进程或者线程的执行上下文,通常asp.net的请求会为每一个请求准备一个执行管道,也会准备一个执行环境上下文,这就是HttpContext。 CS认为HttpContext的信息并不直接,无法满足各项功能的直接需求,为了能够更好的处理当前请求,并与高度灵活的配置其他可定制部分协同处理执行请求,为此集成HttpContext实现了一个新的描述执行环境上下文CSContext. 由于需要通常Context在asp.net执行环境来说通常(不通常才怪)是单例的(这需要分析asp.net的执行原理http请求的生命周期,并非本人在此探讨的重点...
CommunityServer的身份鉴别 任何交互系统,都要考虑身份鉴别方式,CS作为开源的社区系统项目,必然要涉及到同其他现有或者扩展系统的兼容性,那么就必须研究CS的身份验证体系细节,也总结出如何扩展此系统。 要处理身份验证,入口应该是系统的登录部分。CS的web工程里有一个login.aspx文件,是处理登录的。该页面只有一个CS:Login控件,这是个继承自 SecureTemplatedWebControl 的控件类,大致我们可以看到登录细节在登录按钮的click事件处理: public void LoginButton_Click (Object sender, EventArgs...
Provider实现 Provider 是重配置轻编程的第二个体现。 我们都知道分层设计很重要,也知道在保持结构稳定的基础上,应当做到最大的灵活性,所谓具体环境的无关性。比如我们设计的时候可以通过分析,将一些功能进行抽象,并独立出来。比如,我们需要做到数据库无关,我们需要将全部数据访问设计到数据库部分进行独立设计,并通过分析提炼出相应的功能抽象,然后可以根据实际的数据库,设计相应的面向特定数据库的数据访问类,以便做到最终可以灵活通过配置文件,来切换不同的数据驱动。 Provider 的定义在 CSConfiguration.cs,该类只是一个存储Provider的实体类,用来描述具体的功能的Provider...
CommunityServer如何体现“重配置、轻编程”Config实现 .net同java2以后的编程一样,开始强调“重配置、轻编程”了,所以出现了.config类别的扩展名。通常,我们的配置信息不多,所以会写入到web.config上,但是CS的配置信息比较多,所以单独设定了一个 communityserver.config 文件来存储和配置系统的设定信息。 解析该config文件的类是 CSConfiguration.cs 该类是整站各模块部分用来实现系统灵活性的基础工具类,这样需要确保协同各模块必须保持配置的一致性,这样,自然选择了单例模式来实现类。第二个需要学习的是,既然配置信息如此重要...
CommunityServer背景 Web2.0大潮,带动了web技术摆脱了单纯的论坛、CMS的开发,转而进入社区应用开发。但是要知道,连基础协议都是http,那么也别指望有啥新应用技术一鸣惊人,大多数还是各类成熟技术的结合、融合。 Myspace、Flicker等应用的脱颖而出,导致了市场要求技术开发多注重社区产品、相册、博客等典型web2.0应用的开发。在这背景下,CommunityServer(简称cs)项目诞生了, Telligent Systems 贡献了这个项目,推给了广大.net开发人员。这个项目集合了asp.net Forum DotextBlog 、Gallery作为基础,并逐渐加入其他的模块...
摘要: 最近激情于对CS2的改造,疏于本系列的更新,一方面本身文章的受众比较有限,另一方面是自己的业余时间有限,着重于对C... 阅读全文 Felix 2006-06-27 00:01 发表评论
摘要: 前面几节里有朋友提到CS2对中文搜索支持的不好,那么这一节就提前到这里来讲讲怎样解决CS2对中文搜索的问题。&nb... 阅读全文 Felix 2006-06-10 15:21 发表评论
摘要: 近期由于身心不适,一直没更新,现又拿起笔,继续这个系列…… &nbs... 阅读全文 Felix 2006-06-07 23:51 发表评论
摘要: 由于WEB请求是无状态的,在请求过程中需要保存的共享信息保存在HttpContext中,在Http请求过程中Htt... 阅读全文 Felix 2006-05-17 00:45 发表评论
摘要: 上一节用了一个示例说明了Ajax在CS2中的一点简单的应用,这一节里着重探讨一下CS2中的Ajax的高级应用和实现原理,在了解Ajax的实现原理前我觉得有必要先了解一下aspx页面从请求到返回HTML... 阅读全文 Felix 2006-04-26 20:12 发表评论
摘要: Ajax技术在时下很热门,当然在CS2.0中也不例外的运用到了此技术,CS2中没有使用任何第三方Ajax控件,这就给我们提供一... 阅读全文 Felix 2006-04-25 22:06 发表评论
摘要: CS中几乎所有的页面都是靠模板的呈现方式来实现的,那么CS中有些什么样的模板呢,让我们看看CS中的模板机制吧:
&... 阅读全文 Felix 2006-04-24 20:54 发表评论
摘要: 当我们第一眼见到CS的时候你是不是被他那么纷繁复杂的结构看傻眼呢。那么在认识CS之前最好对它的页面间关系做一个全面的了解,这对我门改造CS有较大的帮助。 阅读全文 Felix 2006-04-24 03:12 发表评论
摘要: CommunityServer2.0专注细节一邮件提醒按钮实现(上)DOC下载地址:CommunityServer2.0专注细节一(上).rar 2006-3... 阅读全文 彭斌 2006-03-09 00:54 发表评论
摘要: CommunityServer2.0专注细节一 邮件提醒按钮实现(上) &n... 阅读全文 彭斌 2006-03-09 00:44 发表评论