码迷,mamicode.com
首页 > Windows程序 > 详细

Web Api 随笔录-Route 路由

时间:2015-03-22 00:23:16      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

前记:呃哼,尽管是第一篇,个人学习记录用,并且我写东西也不太习惯带上各种专业名词,只因为记不住,不多说直接上内容。

 

Web Api在ASP.NET上有不少的版本形式,就拿其中的路由部分来讲,我在用的时候是微软的MVC提供的。

 

所用工具:

Visual Studio 2013

 

所需命名空间:

System.Web.Routing;

System.Web.Mvc;

 

所需NuGet管理包:

ASP.NET MVC       (微软提供)

 

所用到的部分

特性,Global.ascx初始化文件

 

首先要先大概的说一下:

IIS在接受客户端发过来的请求的时候,首先会受到请求筛选,应用程序映射处理各种对请求处理的操作的影响。优先于Web Api执行(貌似是废话-_-记录记录)

恩,IIS接请求自己大略的处理一下后就会丢到我们自己写的代码上处理了。这时候就是Web Api的出场部分。那么,最首要能插足的部分就是路由了。

路由是啥,我们能负责的路由可以随意的改变URL的轨道,尽管我不太能区分伪静态和路由的一个区别,不过就目前对比起以前我配置的伪静态和现在的路由来看,路由的配置资源明显要更加的自由,个性化,范围更广,可以讲伪静态仅仅只是作为路由的一个附属品一样的存在吧,我是这么理解的。

可能讲的比较繁琐,打个比方吧。localhost/Index   location/ 与 localhost/default.aspx的访问是同样的效果(在客户端上表现的话)。

例子以上,以下就是代码记录了:

 

Global.asax    (新建项-全局应用程序类)

 

 

protected void RegisterRoute(RouteCollection routes)
{

  //开启路由特性
  routes.MapMvcAttributeRoutes();

  //注册路由地址
  routes.MapPageRoute(
    "AspxRoute",
    "",
    "~/otk_main.aspx");

  //注册2
  routes.MapPageRoute(
    "IndexRoute",
    "Index",
    "~/default.aspx");

}

protected void Application_Start()
{
  RegisterRoute(RouteTable.Routes);
}

 

default.aspx:

    public class TmController :Controller
    {

        [Route("TestIpMonitor/")]
        [HttpGet]
        public string Index()
        {
            return "123";
        }
    }

 

恩。。。附上特性路由的展示用。代码编写完毕的时候,可以尝试在调试时在尾巴追加上 "/TestIpMonitor" 这时候大概就能发现返回“123”的内容了哈。如果换成输入 "/Index"  或者 干脆只有"http://localhost:端口号/"的时候,展示的就是default.aspx页了,当然。这时候你在配置IIS的时候可以在请求筛选上。拒绝.aspx的请求,这样,就能完全屏蔽掉对ASPX文件的直接请求了。

当然,倘若用MVC框架开发,即cshtml的话,完全就不需要IIS的辅助了。他本身也就没实体文件能请求。自带的CSHTML文件也是在请求映射里加上了。微软自己就在IIS帮设置完了。

第一次写东西比较水哈~~~学习为主学习为主。

Web Api 随笔录-Route 路由

标签:

原文地址:http://www.cnblogs.com/osna/p/4356506.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!