Asp.net WebApi注册路由

一、概述

  • asp.net webapi采用的抽象管道处理模型
    • 只具备处理消息的能力,需要寄宿于IIS或者控制台应用程序中,利用宿主环境下的监听与响应请求的功能完成一次完整的Http请求响应过程
    • 提供了默认的路由系统实现

一、路由注册

  • Web Host模式
    • 当webapi寄宿在web host中时,其本质是对webapi默认的路由系统进行了拓展和适配,使其能够利用asp.net的路由系统进行注册(或者说是兼容),同时指定自身的IHttpHandler,使其利用webapi中的消息管道模型
  • Self Host模式
    • 当webapi寄宿在Self Host中时,可以运行在控制台应用程序中,其监听和响应功能是基于HttpBinding,包括两个主要的模块,即消息编解码以及面向传输层的监听响应

在这里插入图片描述

三、针对特定路由的HttpMessageHandler

  • 在注册路由的时候,可以为特定的路由模板指定特定的HttpMessageHandler
  • 该HttpMessageHandler后面的委托链最终可以指向HttpControllerDispatcher,通过激活controller的方式处理请求,也可以不指向HttpControllerDispatcher,自定义一套处理机制

在这里插入图片描述

四、Self Host模式

class Program
{
    static void Main(string[] args)
    {
        //Assembly.Load("WebApi,Version=1.0.0.0, Culture=neutral, PublicKeyToken=null");
        
        HttpSelfHostConfiguration configuration = new HttpSelfHostConfiguration("http://localhost:8888");
        using (HttpSelfHostServer httpServer = new HttpSelfHostServer(configuration))
        {
            WebApiConfig.Register(configuration);
            httpServer.OpenAsync().Wait();
            Console.Read();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值