Web Api 随笔录-Route 路由

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

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帮设置完了。

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

时间: 2024-12-10 10:40:51

Web Api 随笔录-Route 路由的相关文章

ASP.NET Web API实践系列03,路由模版, 路由惯例, 路由设置

ASP.NET Web API的路由和ASP.NET MVC相似,也是把路由放在RouteTable中的.可以在App_Start文件夹中的WebApiConfig.cs中设置路由模版.默认的路由模版是: routes.MapHttpRoute( name: "API Default", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } );

asp.net Web API简单的特性路由配置

一,控制器代码: [RoutePrefix("ajilisiwei")]  //加URL前缀 (非必需)    public class ShoppingController : ApiController    { [HttpPost]        [Route("Test/{product}")]          public IEnumerable<Product> AddProduct([FromUri]string product,[Fro

ASP.NET Web API实践系列04,通过Route等特性设置路由

ASP.NET Web API路由,简单来说,就是把客户端请求映射到对应的Action上的过程.在"ASP.NET Web API实践系列03,路由模版, 路由惯例, 路由设置"一文中,体验了通过模版.惯例.HTTP方法来设置路由,这种做法的好处是把路由模版统一放在了App_Start文件夹下的WebApiConfig类中,方便管理,但缺点是不够灵活. REST把一切都看成资源,有时候,一个资源连带子资源,比如Customer和Orders密切关联,我们可能希望输入这样的请求:cust

Asp.Net Web API 2第八课——Web API 2中的属性路由

参考页面: http://www.yuanjiaocheng.net/webapi/web-api-gaisu.html http://www.yuanjiaocheng.net/webapi/create-web-api-proj.html http://www.yuanjiaocheng.net/webapi/test-webapi.html http://www.yuanjiaocheng.net/webapi/web-api-controller.html http://www.yuan

ASP.NET Web API 路由对象介绍

ASP.NET Web API 路由对象介绍 前言 在ASP.NET.ASP.NET MVC和ASP.NET Web API这些框架中都会发现有路由的身影,它们的原理都差不多,只不过在不同的环境下作了一些微小的修改,这也是根据每个框架的特性来制定的,今天我们就来看一看路由的结构,虽然我在MVC系列里写过路由的篇幅不过在这里是Web API 路由对象介绍. ASP.NET Web API路由.管道 ASP.NET Web API 开篇介绍示例 ASP.NET Web API 路由对象介绍 ASP.

Web API中的路由(一)——基本路由

一.Web API中的路由概念 路由的作用用一句话说明:通过request的uri找到处理该请求的Controller,Action,以及给Action的参数赋值. web api中默认的路由: routes.MapHttpRoute( name: "API Default", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } );  rout

ASP.NET Web API 2中的属性路由(Attribute Routing)

如何启用属性路由并描述属性路由的各种选项? Why Attribute Routing? Web API的第一个版本使用基于约定的路由.在这种类型的路由中,您可以定义一个或多个路由模板,这些模板基本上是参数化字符串.当框架收到请求时,它会将URI与路由模板进行匹配. 基于约定的路由的一个优点是模板在单个位置定义,并且路由规则在所有控制器上一致地应用.遗憾的是,基于约定的路由使得很难支持RESTful API中常见的某些URI模式.例如,资源通常包含子资源:客户有订单,电影有演员,书有作者,等等.

Web API 1入门之Self-Host寄宿及路由原理(二)

前言 刚开始表面上感觉Web API内容似乎没什么,也就是返回JSON数据,事实上远非我所想,不去研究不知道,其中的水还是比较深,那又如何,一步一个脚印来学习都将迎刃而解. Self-Host 我们知道Web API它可以快速为HTTP客户端提供API来创建Web服务,为何如此这样说呢?因为我们可以将其作为主机也就是一个服务器来用完全不需要IIS,这就是我们下面要讲的第一个内容Self-Host,实现对Web API寄宿的方式有多种并且都是独立于ASP.NET框架之外,如下Self-Host寄宿

【转载】ASP.NET MVC Web API 的路由选择

此文章描述了ASP.NET Web API如何将Http请求路由到controller. 路由表 在ASP.NET Web API中,controller是用来处理HTTP请求的一个类.这个类中用于处理HTTP请求的的公共方法被称之为action method或者简称action.当Web API框架接收到一个请求时,会将这个请求路由到一个action来处理. ASP.NET Web API框架通过使用路由表来确定哪个action方法被调用.Visual Studio 中的ASP.NET Web