开源asp

时间:2024-06-23 15:08:54编辑:奇事君

浅谈ASP.NET的内部机制(一)

  前言 当一个Http请求发送给一个aspx页面时 服务器进行了哪些操作?又如何来解析这个请求?ASP NET在接收请求后是怎么运行的 如怎么编译以及怎么样用托管的代码来运行的?……理解这些问题 使我们可以更加好的开发ASP NET    当我们在浏览器中请求一个ASP NET网站的某个页面的时候 如 我们在浏览器中输入 x 这个请求就被发送到了服务器(当然了 这个网站是部署在IIS中的) 当请求到达了服务器之后 那么IIS就开始进行一系列的操作 注意 不是每个请求都一定会由ASP NET来运行处理的 大家稍后就会明白为什么    在IIS中有一个组件 sys 其实这个组件的作用很简单 就是验证请求的url 如之前的 x 如果请求的URL不符合 sys的要求 那么这个请求就不会被传递给ASP NET的处理程序 这样就在IIS这道门槛这些阻止了不合法的url请求 这样ASP NET就不用处理这个不合法的请求 就减轻了服务器的压力   下面 我们就来看看这个 sys到底是怎么样处理请求的url的 当大家明白这个问题后 就可以帮助我们解决很多的以前遇到的问题   首先请大家看看下面的图   当发送一个请求来请求页面的时候 sys就会检查这个请求的url和headers的总的大小 包含检查url中有关查询字符串的大小 如demo aspx?username=demo 也会检查cookie的大小 把这些所有的加起来 看看它们是否超过了 KB 如果超过了 请求就失败了 所以请求根本就没有传递给ASP NET   而且在 sys检查url的时候也有很多的要求的 如我们之前的那个url   x   这个url是由localhost Demo aspx 这些路径的片段组成的 每一个由 / 分割的字符串都是一个路径片段 本例中就有两个路径片段 在默认情况下 sys要求一个url的路径片段不超过 个 并且每个路径片段的大小也不要超过 个字母 但是注意 如果在Demo aspx后面有查询字符串 Demo aspx?page= 那么这个片段就可以超过 个字母的限制 即 Demo aspx?page= 可以更大 但是不管怎么样 这些url的大小 如之前所说的 不能超过 KB 如果没有通过 sys的要求 IIS就发送一个 的错误   之前也说了的 那是默认的这只 其实这些设置我们是可以在注册表中改的 但是默认设置已经很不错了 所以一般没有必要改    当请求的url通过了 sys的检查后 请求就会传递给aspnet_filter dll 下面简称filter   其实这个filter做两件事 将url中的无cookie的票据转换为Http Headers 保护ASP NET的相应的目录   首先来看看第一个作用 检查url中的无cookie信息 并且转换为Http Headers   大家应该明白ASP NET 中的新特性-支持无cookie 即cookieless 因为我们在进行验证的时候一般是基于Forms验证 而这种验证方式是把信息保存在cookie中的 但是有的用户的浏览器是禁用了cookie的 所以为了使得我们可以继续用这个验证方式 就把验证信息保存为无cookie 大家可以去查看有关这方面的资料 来看看下面的一个url   //localhost/demo/(S(tuucni xfzj xqx mnqdg ))/Default aspx   我们其实把有关的信息存储在了url中 如上面的 S 就标识在后面括号 () 的信息就是无cookie的信息(tuucni xfzj xqx mnqdg )   来看看 S 是什么   S—Cookieless ticket for session state   A—Cookieless ticket for anonymous identification   F—Cookieless ticket for forms authentication   其实filter并不知道这些标识(如 S )的意义 只是filter检查url中是否包含这些标识 并且这些标识后面还有 () 如果在url中检查到有这些标识 那么filter就把这些标识转换为Http Headers 并且在url中删除这些标识 我们本来请求的是x页面 但是如果filter不删除标识 那么我们请求//localhost/demo/(S(tuucni xfzj xqx mnqdg ))/Default aspx是不存在的 就会返回一个 错误(找不到请求的文件)   现在我们来看看filter的第二个作用的 保护ASP NET的相应的目录   在我们开发的ASP MET网站中 有很多的文件目录是不允许访问的 如我们存放数据的App_Data App_Code等 所以filter就会检查请求的url中是否包含这样的字符 //localhost/demo/App_Code/…一旦发现有这样的字符串出现 甚至是以 App_ 开发的任何字符串 如 App_MyFolder 这个请求就会被拒绝了 但是 假如你的项目中已经有一个这样的以 App_ 命名的目录 如果你非要可以访问这样的目录 可以在注册表中修改设置HKEY_LOCAL_MACHINE\Sofare\Microsoft\ASP NET lishixinzhi/Article/program/net/201311/12257


浅谈ASP.NET内部机制(三)

  大家已经在知道 在我们开发ASP NET网站的时候 每个服务器控件都有自己的ID 为了后面更好的展开 下面我们就来简单的看看这个场景 当我们在浏览器中点击了一个服务器控件 如 Button 此时页面回传给服务器 然后服务器就引发控件的Click等事件 这个场景是简单的不能在简单了   我们来进一步看 我们知道 不是所有的控件都会在服务器端触发事件的 比如 submit按钮 这个按钮也同样可以把表单数据传到服务器 但是这个控件不能在服务器端触发事件 其实在一个页面提交到了服务器之后 服务器就会检查是哪个控件引起了页面提交 然后就把这个控件的ID找到 然后再在我们请求的那个页面 如Default aspx (假设我们点击按钮 请求的是Default aspx) 去找是否有服务器控件的ID和此时提交页面的ID是一样的 如果有 那么就在页面的生命周期的合适的时候 引发事件 在把处理的结果返回 如果没有 服务器就不做什么了特别的处理   还有一点要注意的是 在查找那个控件的ID 的时候 页面(如Default aspx) 已经被编译成为了一个继承自Page的类   当然 上面说的只是一个很粗略额过程 希望大家有个总体的认识 下面就细致的讲解   我通过一个流程来解释    我们首先请求一个服务器端的页面 如 x 为了方便解释 假设页面只有三个服务器控件 TextBox DropDowmList Button   定义如下               Untitled Page                                          在浏览器中 我们在 源 中 看到的如下   <!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN    transitional dtd >         Untitled Page               <input type= hidden name= __VIEWSTATE id= __VIEWSTATE   value= /wEPDwUKMTAxNzk MjY OWRkxj+ HeO c N xVutp x OdaSpw= />            Text   Text   Text                  确实 上面的那些HTML的代码确实没有什么 但是大家注意看看TextBox DropDownList 它们的ID在服务器端的aspx页面和本地的源中的ID是一样的    我们在浏览器中的TextBox中输入 xiaoyang 然后DropDowList 选中 Text 然后我们点击按钮 提交 此时我们提交的数据被包含在表单中的 而且是以这样的格式保存的 TextBox =xiaoyang&DropDownList =Value 不用多说 表单数据是用 & 来分隔的 而且每个分隔的串包含两个部分 ID和值 也就是 键值对    数据到了服务器后 ASP NET就实例化一个 HttpRequest的类 这个类有两个属性 Forms和 QueryString 它们的类型都是NameValueCollection(键值对 大家可以把它看成一个HashTable) 然后ASP NET解析表单数据 表单数据就解析成为了一个个的键值对 然后就保存在Forms(POST提交)或者QueryString中(GET提交) 我们之前是以POST提交为例子的    之前的事情是发生在页面的生命周期之前的 当页面调用自己的ProcessRequest方法后 就进入了页面生命周期 此时页面就会检查页面中的所有控件 看看它们有哪些实现了IPostBackDataHandler接口 然后把实现了这些接口的控件都放入到一个ArrayList中 然后也检查哪些控件实现了IPostBackEventHandler 也把它们假如到另外的集合中 之后就开发遍历实现了IPostBackDataHandler控件的集合 并且调用IPostBackDataHandler的方法 LoadPostData(string postdatakey NameValueCollection value)   之前说过了的 我们提交的表单的值都保存在了Forms中(它的类型是NameValueCollection 的) 所以此时这些值就传入到了这个方法 然后就检查这些值和之前的是不是相同的 我们已经还记得 我们在浏览器中看到页面时 页面中的TextBox 初始时是没有值的 而且DropDownList选择的是Text 现在我们的值改了 是 xiaoyang 和 Text 所以这个方法检查的结果是 值变了 返回了true 只要返回了true 那么IPostBackDataHandler的下一个方法就会调用RaisePostDataChangeEvent() 这个方法已经注册了事件 到页面生命周期的之后就后引发的    所以 如果我们开发的自定义控件想要在数据改变的时候引发事件 那么就一定要实现IPostBackDataHandler接口 例子可以参看我的另外的控件开发的系列文章    现在我们已经说到了数据的改变 下面就看看到底是怎么引发事件的 到了页面开发执行RaisePostbackEvent方法的时候 页面就会遍历实现了IPostBackEventHandler的控件的集合 并且检查是否在页面中存在一个控件 这个控件要实现了IPostBackEventHandler 并且ID和之前使得页面提交到服务器的的那个控件的ID一样 如果有IPostBackEventHandler的RaisePostBackEvent 方法来触发事件(不同控件实现这个方法的方式不同) 如Click事件   所以 如果想在自定义控件可以触发事件 那么就要实现IPostBackEventHandler接口 可以参看我的控件开发系列文章 有例子的 lishixinzhi/Article/program/net/201311/12865


ASP论坛上传后如何执行安装命令?

刚才我下了代码看了
你把Db="/data/bbsgood_speed.mdb"
改成 Db="data/bbsgood_speed.mdb"
就可以了,把前面的/去掉


附上分析

Db="/data/bbsgood_speed.mdb"
指向的是 网站主目录下的date文件夹下的bbsgood_speed.mdb文件
按你那个空间就是http://heping.myzt.net/data/bbsgood_speed.mdb,


asp php jsp 哪个好

这是一个容易争辩的话题,但就个人的经验看,不建议只用好坏来判断语言该不该学,若一定要有答案就是PHP好。这三个首先推荐一定要下功夫学好PHP,其他两种自然就上手。市场需求而言,PHP很容易找到工作。ASP只要有观念就好,不建议您花时间在上头。当然你不能光会PHP, C# 或 Python都是应该要会的。都要能多找范例与案子来磨刀。


php,jsp,asp三者优缺点...

JSP ASP PHP
运行速度 快 较快 较快
运行耗损 较小 较大 较大
难易程度 容易掌握 简单 简单
运行平台 绝大部分平台均可 Windows平台 Windows/UNIX平台
扩展性 好 较好 较差
安全性 好 较差 好
函数性 多 较少 多
数据库支持 多 多 多
厂商支持 多 较少 较多
对XML的支持 支持 不支持 支持
对组件的支持 支持 支持 不支持
对分布式处理的支持 支持 支持 不支持
应用程序 较广 较广 较广
----------------------------------------------------
转载:
慢慢看吧!
ASP、JSP与PHP的比较

目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(Java Server Pages),
PHP (Hypertext Preprocessor)。

简 介

ASP全名Active Server Pages,是一个WEB服务器端的开发环境, 利用它可以产生和运
行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VB Script(Java script
)作为自己的开发语言。

PHP是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用C,Java和Perl语言的语法
, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝大多数数
据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(
t)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。

JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--
脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Jav
a 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Js
p--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点
程序。

三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。
但JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP 页面的
第一次请求时发生。在 ASP 、PHP、JSP 环境下, HTML 代码主要负责描述信息的显示样式
,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PH
P、JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到
HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、 JSP三者都是面向 Web 服务器的技术
,客户端浏览器不需要任何附加的软件支持。

技术特点

ASP:

1. 使用 VBScript 、 JScript 等简单易懂的脚本语言,结合 HTML 代码,即可快速地完成
网站的应用程序。
2. 无须 compile 编译,容易编写,可在服务器端直接执行。
3. 使用普通的文本编辑器,如 Windows 的记事本,即可进行编辑设计。
4. 与浏览器无关 (Browser Independence), 用户端只要使用可执行 HTML 码的浏览器,即
可浏览 Active Server Pages 所设计的网页内容。 Active Server Pages 所使用的脚本语
言 (VBScript 、 Jscript) 均在 WEB 服务器端执行,用户端的浏览器不需要能够执行这些
脚本语言。
5.Active Server Pages 能与任何 ActiveX scripting 语言相容。除了可使用 VBScript
或 JScript 语言来设计外,还通过 plug-in 的方式,使用由第三方所提供的其他脚本语言
,譬如 REXX 、 Perl 、 Tcl 等。脚本引擎是处理脚本程序的 COM(Component Object Mod
el) 物件。
6. 可使用服务器端的脚本来产生客户端的脚本。
7.ActiveX Server Components(ActiveX 服务器元件 ) 具有无限可扩充性。可以使用 Vi
sual Basic 、 Java 、 Visual C++ 、 COBOL 等编程语言来编写你所需要的ActiveX Se
rver Component 。

PHP:

1.数据库连接
PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的组合。你还可
以自己编写外围的函数取间接存取数据库。通过这样的途径当你更换使用的数据库时,可以
轻松地更改编码以适应这样的变。PHPLIB就是最常用的可以提供一般事务需要的一系列基库
。但PHP提供的数据库接口支持彼此不统一,比如对Oracle, MySQL, Sybase的接口,彼此
都不一样。这也是PHP的一个弱点。
2.面向对象编程
PHP提供了类和对象。基于web的编程工作非常需要面向对象编程能力。PHP支持构造器、
提取类等。

JSP:

1.将内容的生成和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使
用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans
组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和
Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内
容的生成。
在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问Java
Beans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)
页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览
器的完全可用性。
2.强调可重用的组件
绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBea
nsTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操
作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了
总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
3.采用标识简化页面开发
Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多
功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JS
P标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用
其他方法更难于编码和耗时的功能。
通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以
为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样
的执行特定功能的构件来工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够
支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构
)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为
Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越
来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更
改工具或服务器并不影响当前的应用。

应用范围

ASP是Microsoft开发的动态网页语言,也继承了微软产品的一贯传统——只能运行于微软
的服务器产品,IIS (Internet Information Server) (windows NT)和PWS(Personal Web Se
rver)(windows 98)上。Unix下也有ChiliSoft的插件来支持ASP,但是ASP本身的功能有限,
必须通过ASP+COM的组合来扩充,Unix下的COM实现起来非常困难。

PHP3可在Windows,Unix,Linux的Web服务器上正常运行,还支持IIS,Apache等通用Web服务器
,用户更换平台时,无需变换PHP3代码,可即拿即用.

JSP同PHP3类似,几乎可以运行于所有平台。如Win NT,Linux,Unix. NT下IIS通过一个插
件,例如JRUN或者ServletExec,就能支持JSP。著名的Web服务器Apache已经能够支持JSP。
由于Apache广泛应用在NT、Unix和Linux上,因此JSP有更广泛的运行平台。虽然现在NT操作
系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来
势不小。从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节
码都是标准的与平台无关的。

性能比较

有人做过试验,对这三种语言分别做循环性能测试及存取Oracle数据库测试。

在循环性能测试中,JSP只用了令人吃惊的四秒钟就结束了20000*20000的循环。而ASP
、PHP测试的是2000*2000循环(少一个数量级),却分别用了63秒和84秒。(参考PHPLIB)


数据库测试中,三者分别对 Oracle 8 进行 1000 次 Insert,Update,Select,和Delete
: Jsp 需要 13 秒,Php 需要 69 秒,ASP则 需要 73 秒。

前景分析

目前在国内PHP与ASP应用最为广泛。而JSP由于是一种较新的技术,国内采用的较少。但在
国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。
采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于PHP本身存在的一些缺
点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。
首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一
个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开
,组成二维阵列。而PHP则缺乏这种支持。还有上面提到过的一点,PHP提供的数据库接口支
持不统一,这就使得它不适合运用在电子商务中。
ASP和JSP则没有以上缺陷,ASP可以通过Microsoft Windowsd的COM/DCOM获得ActiveX规
模支持,通过DCOM和Transcation Server获得结构支持;JSP可以通过SUN Java的Java Clas
s和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。

三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用J
SP/Servlet。比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的WebSphere;
西方另外一个非常著名的电子商务软件提供商,Intershop。它原来的产品Intershop1 2, 3
, 4占据了主要的电子商务软件份额。它们都是通过CGI来提供支持 的。但去年10月后它推出
了Enfinity,一个采用JSP/Servlet的电子商务Application Server,而且声言不再开发传统
软件。

总之
ASP,PHP,JSP三者都有相当数量的支持者,由此也可以看出三者各有所长。正在学习或
使用动态页面的朋友可根据三者的特点选择一种适合自己的语言。

谁能帮我找到一些国外C#.NET或者ASP.NET开源论坛?非常感谢。

.NET的开源论坛主要有几种类型的

1. ASP.NET MVC的例如 http://www.nearforums.com/
2. 传统ASP.NET编写的,例如 http://yetanotherforum.net/
3. 以模块形式存在于其他CMS系统里的论坛,例如DotNetNuke里的论坛模块 http://www.dotnetnuke.com/Products/Development/Forge/ModuleForums/tabid/820/Default.aspx 要先安装DotNetNuke才能用。

上面提到的都是已经有稳定版本而且还在更新的项目,更多的.NET开源项目可以去http://www.codeplex.com/里找


PHP与ASP有什么区别?

1、时间不同:PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。由于Web程序开发十分复杂,以至于要制作一个简单的动态页面也需要编写大量的C代码才能完成。于是Microsoft公司于1996年推出一种Web应用开发技术ASP,用于取代对Web服务器进行可编程扩展的CGI标准。2、编写语言不同:ASP用VBScript、JavaScript等简单容易的脚本语言。结合HTML代码,即可快速完成网站的应用程序,实现动态网页技术。HP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。3、创立的目的不同:ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境,可用来创建动态交互式网页并建立强大的web应用程序。PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。参考资料来源:百度百科-asp参考资料来源:百度百科-PHP

php与asp的区别

ASP网站与PHP网站的6大区别

  1、速度

  当我第一次运行PHP脚本程序时,我不禁对自己说:“太快了”,当时我是在仪态166MHZ的机器上运行我的程序的,但运行的速度仍然很快。 ASP是永远也不会象PHP这样快的,因为ASP是建立在COM体系结构之上的。

  当用VBScript写ASP脚本时,实际上实在使用COM的对象,当向用户浏览器发送信息时,它用的是Response对象的write方法,当它访问数据库和文件系统的时候,它用的是其他的COM对象。这些COM对象的使用使运行速度下降。在PHP代码中,所有的工作都运行在PHP的内存空间中,也就是说PHP不是基于COM对象的,所以的他的运行速度会快一些。

  2、高级内存管理

  在IIS4下,一个ASP脚本header.asp,如果被20个页面所包含,那么运行的时候,在内存当中会保留这20个header.asp的编译副本,IIS5解决了这个问题,但只有windows2000才支持IIS5,由于这种IIS5的不能向下兼容的原因,许多**仍然要使用IIS4下的低级的内存管理。

  而在PHP中,不会存在这种问题,只有当require时,才会调用某个include文件

  3、MySQL使PHP更精彩

  PHP与MySQL的组合既简单又精彩。PHP有许多管理和维护MySQL的工具,对MySQk的支持是最全面的。许多有用的函数如mysql_insert_id和mysql_affected_rows等,其他的数据库则没有。

  ASP和PHP都是中型网站的较理想的解决方案,但PHP与MySQL的紧密结合使PHP更加优越。 MySQL的虚度比MicrosoftAccess速度快,Mssql和Oracle速度比MySQL要快,可是费用较高。

  4、没有后顾之忧我非常憎恨的一件事情就是会买到一件不放心的产品,比如当你买了一辆汽车,但由于发动机是坏的,你需要更换他;当你买了一栋房子的时候,你要去修补漏雨的屋顶。那么ASP就象这些产品一样,当你买了ASP之后,如果你需要加密技术,你就要买ASPEncrypt;当你需要Email管理时,你就要买ServerObjets Qmail;当你需要文件上传时,你还要买Artisans SA-FileUp。

  5、Bug的处理你是否曾经要求Microsoft修改ASP的一些Bug呢?如果你不是一个象Boeing一样的组织,你无法获得迅速而恰当的修改,把么当你遇到Bug而停止工作时,如果这个Bug不修改,你将无法继续你的工作的。PHP,当你发现Bug时,你可以修改他,如果你没有专家的水平,你可以请专家修改,并且你的修改会得到开放代码组织的接受和认可。

  6、Java和C++的变成风格

  这个优点只是一个看法。 我知道你不会相信一个VisualBasic程序员会因为PHP有Java和C++的编程风格而转向使用PHP,但你会相信有许多人还是喜欢Java和 C++的,PHP是一种具有这两种语言的编程风格的较容易学习的语言。PHP支持结构化编程,在VB因为他的继承性使用类还是较少的。而PHP的象 Java和C++一样的继承性使一个大型的程序中到处都充满了类的影子。


开源cms系统那个好?要开源的

近十年来,中国互联网的发展有目共睹,网民数量更是超越美国成为世界第一,在中国互联网的发展历程中,一直以来默默地为中国站长提供动力的CMS厂商作出的贡献尤其巨大,而与之成反比的是CMS厂商的生存状态依然令人担忧,由于国内站长对于免费和开源的CMS尤为热衷,用户的版权意识低加之用户误将开源认为就是免费的,使得一些获得资本注入的CMS厂商无法达到预期的目标,导致PHPCMS创始人淡淡风和DEDECMS创始人IT柏拉图相继离职事件,亦是2009年CMS行业最大的新闻,在笔者与部分CMS创始人的交流中,感受更多的是他们只是成功的技术狂热者,还不算真正的商人,CMS行业之路对他们还任重道远。CMS行业在ASP与PHP语言争霸赛中,胜出的PHP用户量遥遥领先,而被干掉的ASP正逐渐的退出历史舞台,在笔者和部分CMS创始人的交流中,CMS行业的语言争霸赛已经悄然从ASP与PHP之争升级至NET与JAVA之争上了,不管是昔日的ASP霸主还是PHP得霸主,都在着手这场没有硝烟的战斗了,我们期待着,并祝福着,祝福国产软件越来越强大。以下是笔者在与部分CMS创始人交流后,对开源CMS做一个2009年总结排名,供大家分享:一、帝国CMS其实帝国CMS、DEDECMS和PHPCMS都是PHPCMS行业的领先者,如果要明确的分出谁是第一,已经非常难了,但随着PHPCMS和DEDECMS的创始人相继离开,我暂且将帝国CMS排在了第一,而在PHPCMS行业里头,系统最稳定的也是帝国CMS。预测:2009年淡淡风与IT柏拉图的相继离开,2010年或将是帝国进一步扩大用户量的一年,多年的CMS巨头争霸格局或将在2010年得到实质性的改变。二、DEDECMSDEDECMS在免费使用的策略上将用户量做到了最大,同时DEDECMS也是媒体曝光率最高的一家CMS,但IT柏拉图离开后,DEDECMS官网不仅也改版了,运营策略也改版了,在未来的日子里,DEDECMS将着重于商业系统解决方案方向发展,这对于使用惯了免费系统的个人站长来说并不是件好事,DEDECMS离开IT柏拉图后,其用户量如何巩固将是一个比较棘手的问题,而在商业系统发展上,DEDECMS如何如何解决系统的安全问题,不再重蹈2008年发布V5正式版被黑的旧辙,亦是比较值得关注的问题。三、PHPCMS在淡淡风黯然离去时,很多的站长都在问失去了钟胜辉的PHPCMS还有多少价值?PHPCMS失去了一位团队导师和精神领袖后,PHPCMS的未来自然成为站长圈的热门话题,而不久后钟胜辉再创CMSTOP的消息发布后,更将PHPCMS推到了一个尴尬极点,很多用户选择PHPCMS的人更支持的是钟胜辉,如果这些用户再被钟胜辉成功带走,PHPCMS的三甲地位亦将岌岌可危。四、PHP168PHP168和PHPCMS有着相似的成长历程,却有着不同的命运归属,两年前,PHP168从KU6出来,PHPCMS进入KU6,两年后,PHPCMS创始人选择了离开,PHP168却在列队欢迎从PHPCMS走出来的用户,仅仅两年的时间,PHP168从可怜的几个核心开发团队发展成最有活力的技术团队之一,2010年将是PHP168冲向PHPCMS行业前三甲的绝好机会,我们拭目以待。五、动易动易是中国CMS行业的领跑者,中国的站长估计无人不知动易,动易系统模块很多,功能非常强大,但在ASP与PHP相争中,动易因DLL的限制和系统的稳定性要差,使得免费版差不多成鸡肋,加之PHP系CMS的迅猛雄起,不仅使得动易的用户量迅速下降,而且放眼过去,一大批曾经风光无限的ASPCMS(如创力、乔客、新云等)用户量迅速下降,从某种意义上说,这不是CMS厂商的错,客观原因还是在于微软对ASP的放弃,而动易在ASP.NET的转型,让动易重拾往日的光辉,我们一直期待着动易能将NET的动易系统开源,而不是拿一个放弃更新的版本来开源。六、风讯在我的印象中,风讯和动易一直是一对不解的冤家,风讯给我的感觉就是动易做啥他就做啥,名气也很大,但没有动易大,用户量也很多、但没有动易多,不过风讯确实很牛,系统功能很强大,自由度高,在系统开源方面的口碑比动易要好。七、科讯科讯应该是国内ASP开源CMS最强的了,在今天ASPCMS系统中科讯能有如此用户量,可见其系统的强大和易用,科讯走的路线是大而全,我们在互联网上能看到的网站,似乎用科讯都能开发的出来,但其命运终究逃不过微软对ASP的放弃。八、JEECMSJava能成为全球语言应用第一,主要是Java走了开源路线,而国内JAVACMS发展缓慢,主要原因是Java入门门槛高、Java开源CMS少、Java虚拟主机费用高,所以推广起来非常之难,在这之前看过关于JEECMS的介绍文章,笔者始终认为JEECMS不可能发展成个人站长常用建站系统,主要Java开源系统少之又少,产品部够丰富,靠单打独斗很难成气候;但在笔者最近的深入的了解后,观念也得到了改变,主要是比较认同JEECMS的产品布局比较丰富(CMS、论坛、商城、博客、下载、图片等),更主要是JEECMS已经纵深到了虚拟主机业务这一块,提供与PHP虚拟主机平价的廉价虚拟主机,无疑是推动用户量的最有效途径。九、JTBC_CMS在整个CMS行业里,JTBC提供的技术版本是最牛的,JTBC提供ASP版、PHP版和.NET版下载,这样给用户的选择余地比较大,并且采取了“语言/代码/程序”两两分离的技术模式,纳入了模块安装文件的概念,全面的使用了模板包与语言包结构,极大的提升了二次开发的便利,但是JTBC从2004年做到现在,用户量依然还很小。十、ROYcms!NTROYcms!NT是国内极少见的一家非商业性组织提供的开源CMS,没有授权服务,只靠捐赠资助生存,在中国,这样的团队生存非常艰难,因为国内还没有形成对软件作者的捐赠气氛,所以,ROYcms!NT先行者,我们没有理由不支持他们。


上一篇:单页面优化

下一篇:浅喜欢