仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 656|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET编程:基于ASP.NET2.0的非HttpModule盗窟版MV...

[复制链接]
逍遥一派 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:23:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
语言是不是不是最重要的?在ASP.NetMVC框架中是利用地点拦阻的,固然很好用,可是装起来太年夜了,设置也贫苦。本文经由过程代码理论,在ASP.Net2.0框架下完成一套浅易的MVC框架。MVC框架难于构建的中央在于Controller与View的分别和分别后数据能够便利地传输。为了坚持代码的简便,将利用ashx文件作为Controller,用aspx页面作为View。讲起来对照费力,把项目文件放下去,而上面只作一个复杂的申明。项目是VS2008的项目,巨细15K。
下载地点:DotNetMVC.rar
起首构建一个Controller基类。
以下为援用的内容:
Controller类
/**
*author:yurow
*http://birdshover.cnblogs.com
*description:
*
*history:createdbyyurow2009-9-207:30:04
*/

usingSystem.Web;
usingSystem.Web.Services;

namespaceDotNetMVC.MVC{
///<summary>
///把持器
///</summary>
[WebService(Namespace="http://tempuri.org/")]
[WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]
publicabstractclassController<T,K>:IHttpHandler{
///<summary>
///以后哀求
///</summary>
protectedMyRequestRequest;
///<summary>
///输入
///</summary>
protectedHttpResponseResponse;
///<summary>
///前往到View页面的数据
///</summary>
protectedMvcViewData<T,K>ViewData;
///<summary>
///把持器称号
///</summary>
privatestringcontrollerName;
///<summary>
///把持器操纵办法
///</summary>
publicabstractvoidAction();
///<summary>
///实行哀求
///</summary>
///<paramname="context"></param>
publicvoidProcessRequest(HttpContextcontext){
Request=context.Request;
Response=context.Response;
//这里能够用反射的体例举行带参数的操纵,这里为了简化,往失落了这部分
//MethodInfomethod=this.GetType().GetMethod("Action",newType[0]);
//if(method==null){
//thrownewNotImplementedException("没有完成!");
//}
//objectdata=method.Invoke(this,null)asobject;

ViewData=newMvcViewData<T,K>();
Action();
context.Items.Add("MvcViewData",ViewData);
context.Server.Transfer("~/View/"+ControllerName+".aspx",false);
}
///<summary>
///把持称号,不设置默许为View页面与把持器称号同名
///好比,在Login.ashx哀求中,默许挪用View/Login.aspx的页面作为显现页面。
///当登录乐成后,设置其为LoginOK,则会挪用View/LoginOK.aspx
///</summary>
protectedstringControllerName{
get{
if(string.IsNullOrEmpty(controllerName))
returnthis.GetType().Name;
returncontrollerName;
}
set{
controllerName=value;
}
}

publicboolIsReusable{
get{
returnfalse;
}
}
}
}

Controller在ProcessRequest办法中挪用aspx页面,内里设置了一个虚办法Action在详细的ashx文件中重载。
上面是Default.ashx.cs文件的写法
以下为援用的内容:
Default
singDotNetMVC.MVC;

namespaceDotNetMVC{
///<summary>
///$codebehindclassname$的择要申明
///</summary>
publicclassDefault:Controller<string,string>{
publicoverridevoidAction(){

}
}
}

在Controller中,另有两个主要的器材一个是传送给View数据用的,一个是显现哪一个View的(经由过程ControllerName这个属性)
数据库有很多应用领域,但是如果你单单学数据库的话基本上做数据库管理员比较合适而已,跟领域结合的你还得再学习那些领域知识。(其实数据挖掘我真是不懂,本来这学期开了一门课了。
简单生活 该用户已被删除
沙发
发表于 2015-1-19 10:07:16 | 只看该作者
碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。
再现理想 该用户已被删除
板凳
发表于 2015-1-24 12:11:09 | 只看该作者
使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
老尸 该用户已被删除
地板
发表于 2015-2-1 10:40:34 | 只看该作者
通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。
莫相离 该用户已被删除
5#
发表于 2015-2-7 04:08:46 | 只看该作者
Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境!
不帅 该用户已被删除
6#
发表于 2015-2-20 13:12:39 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。
精灵巫婆 该用户已被删除
7#
发表于 2015-3-6 17:09:45 | 只看该作者
同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
因胸联盟 该用户已被删除
8#
发表于 2015-3-13 04:38:23 | 只看该作者
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
admin 该用户已被删除
9#
发表于 2015-3-20 13:07:33 | 只看该作者
当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 13:10

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表