旗下导航:搜·么
当前位置:网站首页 > .Net教程 > 正文

编写一个webapi框架的末尾【C#.Net教程】,webapi,web,api,做个,可以,自己,好像

作者:搜教程发布时间:2019-11-27分类:.Net教程浏览:87评论:0


导读:当我们进修到肯定水平的时刻,我们会想要去深切相识代码底层的东西,也更想具有一个属于本身的框架,固然,博主也恰是如此。本文能够成为编写一个webapi框架的末尾。有研讨MVC框架的朋...
当我们进修到肯定水平的时刻,我们会想要去深切相识代码底层的东西,也更想具有一个属于本身的框架,固然,博主也恰是如此。本文能够成为编写一个webapi框架的末尾。有研讨MVC框架的朋侪会发明,mvc框架的路由MvcRouteHandler是完成了IRouteHandler而得以完成我们路由,而IRouteHandler只须要返回一个对像,那就是IHttpHandler,而IHttphandler恰是处置惩罚http要求的。欣喜当中,我们发明我们已具有了编写一个webapi最中心的东西,路由以及要求处置惩罚。能够本系列文章不会迥殊深入的去申明这两个东西细致是什么,而是专注于运用它们,有兴致的朋侪自行相识哦,对明白.net下面的收集要求处置惩罚有很大的协助。

  话不多说了,直接最先

  我们直接竖立一个完整空的asp.net web项目

  

  不勾选任何东西。

  然后,我们新增一个BaseRouteHandler,继承自(完成)IRouteHandler,代码以下

 public class BaseRouteHandler:IRouteHandler
    {
        public IHttpHandler GetHttpHandler(RequestContext requestContext)
        {
            return new BaseHttpHandler();
        }
    }

  我们看到返回了一个BaseHttphandler,这是我们本身编写的

  新建一个BaseHttpHandler,完成IHttpHandler,值得注重的是,假如你须要这个Handler能处置惩罚session,你只须要继承IRequiresSessionState,这个接口只是个标记,不须要任何完成

public class BaseHttpHandler:IHttpHandler
    {
        public bool IsReusable
        {
            get { return false; }
        }
        public void ProcessRequest(HttpContext context)
        {
            var request = context.Request;
            var response = context.Response;
            var method = request.HttpMethod.ToLower();
            var result = string.Empty;
            
            result = string.Format("您正在要求BaseHttpHandler,要求体式格局是{0},queryStr={1}", method,request.QueryString);
            response.ContentType = "application/json";
            response.Write(result);
            response.End();
        }
    }

  IHttpHander只要两个东西,一个是IsResuable,IsReusable属性,MSDN上是如许诠释的:猎取一个值,该值指导其他要求是不是能够运用 IHttpHandler 实例。也就是说后继的Http要求是不是是能够继承运用完成了该接口的类的实例,这里我们设置成false,因为我们不须要再去继承这个Handler了

  别的一个是ProcessRequest,这个就是处置惩罚细致的要求,HttpContext内里包含了我们的http要求的种种参数,我们只须要对context的数据举行处置惩罚。

  接见之前,我们须要注册路由

  我们为顺序增加一个全局全局应用顺序类,删除除了Application_Start要领之外一切的要领,然后编写以下代码

 public class Global : System.Web.HttpApplication
    {
        protected void Application_Start(object sender, EventArgs e)
        {
            RouteTable.Routes.Add(new Route("api", new BaseRouteHandler()));
        }
    }

  行文到此,项目已能够一般运转了,因而我们焦急的编译运转,输入地点

  注重哦,因为我们路由注册的是api,所以在我们项目地点栏以后加上/api的路由就能够一般要求到我们自定义的HttpRouteHandler内里了。

  因而,我们相识到,最最基本的有三个点:

  一.完成IRouterHandler,

  二.完成IHttpHandler,

  三.注册路由

  假如你也手痒痒,那末,去完成本身的框架吧!

  待续。。。

以上就是编写一个webapi框架的末尾的细致内容,更多请关注ki4网别的相干文章!

标签:webapiwebapi做个可以自己好像


欢迎 发表评论: