网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

asp.net的MVC编程、MV编程以及URL重写

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/13
来源:jdong - 博客园

  前一段时间做一个网站项目,使用win2003+.net2.0开发;在学习了一些.net的相关知识后,并考虑到此项目需要多人合作,以及架构清晰、 URL重写等优点,决定用MVC方式开发。但微软的asp.net MVC框架据说要下半年才出正式版,而且还需要.net3.5,其他的MVC框架又不熟悉,估计也需要一段时间学习。由于开发时间比较紧,我们开发小组中也没有一个对asp.net及asp.net MVC框架非常精通的人,所以又想转回使用传统的asp.net编程方式开发。

  在两难之际,我想也许可以在项目需求出来前,自己试着写一个MVC架构出来,因为以前曾用PHP和JSP写过类似的MVC架构,而Web的运行环境和编程语言,相通的地方还是很多的,于是就有了下面这个asp.net的MVC架构。

  一、MVC编程:

  针对用户的浏览器来说,网站可以看作一个实体、一个接口,其接收浏览器的请求,并将相应的信息返回给浏览器;因此,网站程序完全可以用一个程序来完成,而实际上也确实如此,IIS、apache等web服务器本身就是一个程序,而运行其中的asp、aspx、php、jsp、html等等的单个页面,只不过是帮助web服务器来实现一定功能而已。

  由此可以引申出:我们完全可以用一个aspx页面来处理针对网站的所有动态请求。

  而这个页面,我们就把它起名为index.aspx吧。

  在apache、tomcat等web服务器,都有相应的技术,将网站符合一定规则的所有http请求,都转向一个程序页面(如index.jsp或 index.php)来处理。而IIS在IIS7(前面提到,我们的网站服务器是windows2003,IIS版本为6.0)出来以前,只能借助于第三方组件实现(windows2008的IIS7.0可以不借助第三方组件实现URLRewrite,网上可以找到相关代码)。这其中比较有名的2个是 ISAPI_Rewrite(Full版收费,Lite版免费)和IonicIsapiRewriter(免费),而对于我们这个MVC架构来说,ISAPI_Rewrite Lite版(下载ISAPI_Rewrite Lite,这里有ISAPI_Rewrite Lite的最新版本,我们使用的是ISAPI_Rewrite3_0047_Lite.msi)就足够了,由它来控制请求到我们的 index.aspx(具体代码参见DotNetMVC示例网站代码)。

  (一) 网站的目录结构

  为了使图片、css文件、js文件、html文件等免于ISAPI_Rewrite处理,需在网站根目录建立一个单独的mvc目录,其中存放MVC架构需要的aspx文件,从而网站的目录结构如下:

ROOT
|--App_Code
   |--DotNetMVC
     |--DAL
      |--UserDA.cs
     |--Model
      |--User.cs
     |--Util
      |--ControllerUtil.cs
      |--DBUtil.cs
|--Bin
  |--log4net.dll
|--css
|--images
|--js
|--mvc
  |--application
     |--controllers
      |-default.aspx
      |-user.aspx
     |--views
      |--default
       |-index_view.aspx
      |--share
      |--user
       |-home_view.aspx
       |-list_view.aspx
  |--cache
  |--log
  |-index.aspx
|-Default.aspx
|-Global.asax
|-web.config

  上面的结构中,css、images、js放什么文件分别存放站点用的样式文件、图片文件、javascript脚本文件;Bin存放公共组件(目前有一个日志组件log4net.dll,其配置信息在web.config配置文件中),App_Code存放自定义的公共类,这是.net2.0规定的,mvc目录的作用上面说了,不再赘述。

  下面再看App_Code和mvc下的子目录构成:

   App_Code->Util目录,存放一些实用工具类,目前有2个,DBUtil.cs是SQLServer数据库处理工具类,而 ControllerUtil.cs则是我们这个MVC架构
  • 上一篇资讯: ASP.NET中常用的js代码
  • 下一篇资讯: 在asp.net 2.0中发送邮件
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号