DotNetNuke 框架总揽

我总觉的学一样东东,最好是先在总体上对他有一个认识,而后才能更好的学习,最近刚好有机会学习DotNetNuke这个东西,就把所学到的都写下来,与大家一起分享,有不对的地方,大家一起讨论,学习.He he.....费话小说,,,现在开始把:
       DotNetNuke(简称DNN)是一个免费、开源、可扩展的内容管理系统。可广泛应用于商务网站、企业内网(Intranet)和外网网站、在线内容发布网站。是建立在微软ASP.NET平台之上的一套Web应用框架。
      DNN发展简史
DNN是加拿大人Shaun Walker发起并创立的遵从BSD协议的开源项目。其前身是IBuySpy Portal(现在没人用了)。IBuySpy Portal是微软当初为了鼓励开发者使用.Net Frame Work 1.0 Beta这项新技术而创建的开源项目。Shaun Walker在此项目基础上开发和增加了新的功能使得在线建立网站变成了件容易的事情,并于02年底将其发布为IBuySpy WorkShop,此版本就是DNN的雏形。03年3月IBuySpy WorkShop version 1.0.5被赋予新的项目名称DotNetNuke。04年3月DNN 2.0发布,比起最初的版本,DNN2.0在核心结构和安全性上做出了较大的修改,在模块,皮肤,模板,数据接口以及本地化方面提供了更好的扩展性。04年8月DNN3.0发布,新增了例外处理和事件日志的功能,并率先在核心结构中集成了ASP.NET2.0 Membership APIs。05年12月DNN4.0发布,此版本完全基于ASP.NET2.0技术平台。DNN是一个伴随微软.NET技术不断发展的开源项目,其官方站点是http://www.dotnetnuke.com。目前最新的版本是DNN4.5.4。
 DNN的特点
    开源:DotNetNuke是免费的开源的软件, 用户协议基于BSD 风格的协议。 允许用户在此项目上进行任何商业和非商业的运作.(也就是,你想拿它来挣钱,都没有人来查你).
  可扩展:DotNetNuke可以通过内置工具创建极其复杂的内容管理系统, 同时管理员也可以使用其它的工具, 第三方的工具, 和自定义模块。站点自定设置和功能实现是没有限制的。可能还有N多特点,我就不说了,大家补充吧....
  DNN系统结构
  先看一下官方的系统结构图: 
 
   系统采用B/S结构,其中服务器端可划分成Web服务器和数据库服务器。服务器端采用面向对象的三层结构,提高了系统的可维护性和扩展性。通过分析DNN架构方式可为我们构建类似项目提供了很好的参考模板。
其中Web 服务器端按逻辑可划分成表示层(Presentation Layer);业务逻辑层(Business Logic Layer);数据访问层(Data Access Layer)
  Presentation Layer(表示层)
   表示层直接面向用户,是客户访问DNN站点的接口。这一层由以下元素构成:
    A.Web表单(Web Forms):不同于一般ASP.NET网站,为每一个网页建立Web表单,DNN中唯一的Web表单是Default.aspx,它是站点的起始页同时也承载了表示层中其它元素,在DNN站点中起着置关重要的作用。
    B.皮肤(Skins)和容器(Containers):这里的皮肤和容器分别指网页和模块的外观,DNN采用了装饰器模式使得内容和显示样式的功能分离,Default.aspx根据用户的设置加载相应的皮肤和容器。
    C.模块用户控件(Module User Controls):模块是构成DNN的基本元素,它在表示层的呈现形式是用户控件(Module user control),Default.aspx通过加载模块用户控件为用户提供访问模块功能的接口。它通常放在“/DesktopModules/模块名字”下面
    D.客户端脚本(Client-Side Script):当表示层和客户端需要更及时和灵活多样的交互形式时可以引用用JavaScript编写的客户端脚本.未完....
 

转载于:https://www.cnblogs.com/newr2006/archive/2007/07/11/814311.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

超全!嵌入式必懂的CAN总线一文讲通了

嵌入式的工程师一般都知道CAN总线广泛应用到汽车中,其实船舰电子设备通信也广泛使用CAN,随着国家对海防的越来越重视,对CAN的需求也会越来越大。这个暑假,通过参加苏州社会实践,去某船舶电气公司实习几周,也…

Gentle中的数据表实体类相关自定义属性的设置和获得

1.自定义 表名属性 TableNameAttribute2.自定义 主键属性 PrimaryKeyAttribute3.自定义 列名属性 TableColumnAttribute 4.数据表person对应的实体类person.cs5.获得person.cs类型实体 对应的表名及字段名 下面的属性代码文件 都直接建立在App_Code下 以方便使用 1.自定义 表名…

WebSocket介绍

WebSocket协议是基于TCP的一种新的协议。WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符。它实现了浏览器与服务器全双工(full-duplex)通信。其本质是保持TCP连接,在浏览器和服务端通过Socket进行通信。 本文将使用Python编…

干,认识Audio框架还因此发现一个雷

我们最近出了一个问题,我们点击播放音乐,然后再点击停止播放的时候,喇叭还会输出一段杂音后喇叭才会停止输出。经过排查发现,在代码里面就做了这个功能代码在AudioFlinger.h 里frameworks/av/services/audioflinger/AudioFlinger.…

画图板-- 中点算法画圆

为了能以任意点为圆心画圆,我们可以把圆心先设为视点(相当于于将其平移到坐标原点),然后通过中点法扫描转换后,再恢复原来的视点(相当于将圆心平移回原来的位置)。圆心位于原点的圆有四条对称轴…

Linux 内核如何描述一个进程?

哈喽,我是吴同学,继续记录我的学习心得。一、关于写文章许多知识,书上或者网络上都有,就算这两个地方都没有,代码里也会有答案。但有时恰恰是 资料太多,反而让人难以检索出有用的信息。面对同样的资料&…

供应商关系管理SRM为企业的节流增贡献

在供应链下游的需求链上,企业为了增加市场份额、提高销售收入,更为重视面向客户的管理和信息化管理方面的投入,纷纷引入客户关系管理CRM的管理理念和信息化系统,在“客户第一”的经营策略下借助IT技术的手段来提高对客户的服务水平…

UART/I2C/SPI/1-wire四大通信接口的神解释

1、 裘千丈轻功水上漂之UART射雕英雄传中的裘千丈说,UART就是我的轻功水上漂过河。想从河上过(通信),提前布暗桩,行走时步伐按桩距固定(波特率提前确定),步幅太大或太小都会落水。为…

last_kmsg和ram console

相关文章Android 7.1使用脚本保存LOGCAT和KMSG日志到文件首先,在kernel里面通过printk吐log的时候会是下面的一个过程:printk会将信息格式化到kernel log buffer里面去。然后将这些格式化信息送到console去,在我们的系统里面有两个console&am…

字符串类

1.String类 常用方法: 参考:http://wenku.baidu.com/link?urltz-3Dpwj-JSJQdG6vSo0J1L1G9oJS4eQJjYgogieIzgjdNNLmj-U9EpWhOnVthz4egAKv0SNmLkqzNz2WsiZ2EmPGMu2UXhB6yy-E4yvMQ3 NB: 这里的”s1s2“是地址相等,而是s1.equals(s2)是内容相等…

github网页

GitHub主页创建仓库想必大家都有自己的Github账号吧,没有的可以到GitHub官网注册账号,注册完后,我们来下一步,在我们的GitHub上面右上角的New repository来创建一个仓库。 仓库名必须遵守相应格式:your_username.githu…

有用的Copy-On-write,写时复制

写时复制和写时拷贝是一个意思写时复制是一种策略,并不是Linux独有的,如果你正在设计某个系统架构,也可以参考这种思想。写时复制的英文解释如下Copy-on-write (sometimes referred to as "COW") is an optimization strategy used…

雷军:如果程序人生的话,这条路太漫长

这篇文章是在雷总个人博客看到的,里面聊到了他作为程序员的一些经历、初衷以及思考。写的不错,便转来给大家看看。-- 如果程序人生的话,这条路太漫长我并非天生喜欢写程序,上高中时也没有想过程序员的生活。我学电脑非常偶然&…

51单片机——硬件基础

单片机——硬件基础知识 宗旨:技术的学习是有限的,分享的精神是无限的。 1、单片机内部资源 STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源 (1)Flash(硬盘)——程…

马上工作了,想问下要注意哪些问题?

这是一位读者在知识星球提问的,涉及的内容很多,但是这些问题,我觉得很多人都需要注意,分享出来让大家看,也希望留言说下自己的看法。1一、 offer情况 1. 已签三方 2. 公司是国内靠前的芯片原厂,深圳&#x…

CSS绘图

1. 自适应的椭圆 背景知识:border-radius属性的基本用法 使用border-radius制作一个圆很简单,只要给任何正方形元素设置固定宽高及一半长度以上的border-radius,就可以得到圆形 1234background: #fb3;width: 200px;height: 200px;border-radi…

51单片机——定时器

单片机——定时器 宗旨:技术的学习是有限的,分享的精神是无限的。 1、定时器和计数器 时钟周期:单片机时序中的最小单位,集体计算的放法就是时钟源分之一 机器周期:单片机完成一个操作的最短时间,12个时钟…

当年要是这样搞,我的C++也不至于这样!

C一直被称作永不过时的开发语言,比如游戏、服务器、人工智能等领域都必须用到C!虽然网上有很多教程和资料,但仍有很多人说C难学,究其原因是没有找到正确的学习方法!GoogleTest框架一直广泛应用于C/C项目测试 &#xff…

ABP之创建实体

ABP框架是一个非常庞大的框架,里面的东西有很多,那么如果我需要使用ABP进行项目的开发,具体的使用流程是怎样的呢?接下来将以一个简单的电影票管理“系统”为例子具体的实现一下。 一. 实体的创建 实体是属于领域层的,…

三亚野生植物园

近来朋友外出旅游颇多,大家分享快乐和美景的同时,文字往来也丰富。我的三亚行也该落幕了,休整得差不多了,重整行装,再踏旅途……诸君逍遥游芙蓉叶残桂满岩,粤女梦起游天姥。白塔青湖鸣沙丘,渡海峨眉牵白鹿。…