webapi框架搭建系列博客

上篇:webapi快速框架搭建-创建项目(一)

在“创建项目(一)“这一篇里已经创建了一个空的项目,但项目上什么都没有,本篇描述如何将webapi配置成部署在iis上。

步骤

用nuget添加webapi包

空项目默认是没有webapi相关的dll,要自己去nuget里安装。

 

创建Global.asax全局应用程序类

   所有以iis为载体的网站应用的入口为HttpApplication类的Application_Start方法(不管是webapi还是mvc还是web form都是一样的,只要以iis为网站服务器载体都是这样),而httpapplication一般写在global.asax文件里。

如果不想将网站部署到iis上,可以用owin技术,这样就不用创建Global.asax文件了,在后面博客里会讲到。

 

在Global类的Application_Start里写入webapi的配置

using System;
using System.Web.Http; namespace webapi
{
public class Global : System.Web.HttpApplication
{ protected void Application_Start(object sender, EventArgs e)
{
#region webapi的相关配置
// GlobalConfiguration在Microsoft.AspNet.WebApi.Core里,用nuget添加Microsoft.AspNet.WebApi
GlobalConfiguration.Configure(config =>
{
// Web API 路由
config.MapHttpAttributeRoutes();//启用webapi的属性路由
// 配置webapi的默认路由模板
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}); #endregion } protected void Session_Start(object sender, EventArgs e)
{ } protected void Application_BeginRequest(object sender, EventArgs e)
{ } protected void Application_AuthenticateRequest(object sender, EventArgs e)
{ } protected void Application_Error(object sender, EventArgs e)
{ } protected void Session_End(object sender, EventArgs e)
{ } protected void Application_End(object sender, EventArgs e)
{ }
}
}

  

部署webapi在iis上

打开win10的iis管理器,创建一个网站,如下图。

当然也可以用vs自带的iis express,直接运行(按f5)就可以了。在开发时可用iis express快速的调试,但部署时就得用上iis了。

我在开发时习惯部署到iis上,这样开发时只要编译程序后就直接可以用postman来访问webapi接口是否正常,不用每次都启动iis express,这样速度有点慢,更方便的是可以用vs的调试--》附加到进程,来对已经发布的webapi接口网站进行调试,甚至只以远程调试服务器上的iis网站来排查问题。

创建接口并测试是否可访问

创建webapi接口控制类

using System.Web.Http;

namespace webapi.example
{
public class TestController : ApiController
{
public IHttpActionResult Get()
{
return Ok("this is TestController.Get()");
}
}
}

  编译后用postman访问接口的地址:http://localhost:101/api/test

webapi的路由和控制器在网站有很多教程,可自行学习,我个人建议看webapi的官网教程就行了,有中文版的,已经说的很清楚了,也更权威

webapi官方文档:webapi路由

webapi框架搭建-创建项目(二)-以iis为部署环境的配置的更多相关文章

  1. webapi框架搭建-创建项目(三)-webapi owin

    上一篇:创建项目(二) 在上一篇里,我们已经创建好了webapi应用,并已经部署到iis里,本篇讲如何用owin自宿主或是iis宿主来部署webapi应用. owin介绍 传统的asp.net网站只能 ...

  2. webapi框架搭建-创建项目(一)

    本文只是一些基本的vs操作,供初学者参考,有基础的请查看 创建项目(二) 创建项目(三) 前言 为了从头了解webapi的技术,创建一个为空的项目 步骤 我用的是vs2017,从文件-->新建- ...

  3. webapi框架搭建系列博客

    webapi框架搭建系列博客 webapi框架搭建-创建项目(一) webapi框架搭建-创建项目(二)-以iis为部署环境的配置 webapi框架搭建-创建项目(三)-webapi owin web ...

  4. webapi框架搭建-安全机制(二)-身份验证

    webapi框架搭建系列博客 身份验证(authentication)的责任是识别出http请求者的身份,除此之外尽量不要管其它的事.webapi的authentication我用authentica ...

  5. webapi框架搭建-安全机制(一)

    本系列博客链接:webapi框架搭建系列博客 前言 webapi接口是开放给外部使用的,包括接口的地址,传参的规范,还有返回结果的说明.正因为接口的开放性,使得接口的安全很重要.试想一下,用抓包工具( ...

  6. webapi框架搭建-依赖注入之autofac

    前言 c#的依赖注入框架有unity.autofac,两个博主都用过,感觉unity比较简单而autofac的功能相对更丰富(自然也更复杂一点),本篇将基于前几篇已经创建好的webapi项目,引入au ...

  7. webapi框架搭建-日志管理log4net

    前言 本篇讲怎么在前几篇已经创建好的项目里加上日志处理机制,我们采用Log4net技术.跟多的log4net技术的细节请查阅log4net的官网. log4net官网:http://logging.a ...

  8. webapi框架搭建-webapi异常处理

    webapi框架搭建系列博客 前言 上一篇我们已经完成了项目的日志管理,在项目开发中日志会经常记录程序中的异常,供后续问题排查使用.本篇讲如何在webapi里加入异常处理机制. 目的和原则 1.程序任 ...

  9. webapi框架搭建-安全机制(四)-可配置的基于角色的权限控制

    webapi框架搭建系列博客 在上一篇的webapi框架搭建-安全机制(三)-简单的基于角色的权限控制,某个角色拥有哪些接口的权限是用硬编码的方式写在接口上的,如RBAuthorize(Roles = ...

随机推荐

  1. 阅读《Android 从入门到精通》(12)——自己主动完毕文本框

    自己主动完毕文本框(AutoCompleteTextView) java.lang.Object; android.view.View; android.view.TextView; android. ...

  2. 赵雅智:service与訪问者之间进行通信,数据交换

    服务类 中间人:service服务中的bind对象 创建中间人并通过onBinder方法的return暴露出去 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ ...

  3. jQuery遮罩层插件

    在网页上常常遇到须要等待非常久的操作,比方导出报表等.为了预防用户点击其它操作或者多次点击同个功能,须要用遮罩层把页面或者操作区盖住.防止用户进行下一步操作.同一时候能够提高界面友好度,让用户知道操作 ...

  4. spring框架整合springMVC时关于AOP无法切入的问题

    最开始springMVC的配置为: spring的配置为: 分析可知道spring的配置正确,由于在springmvc中已经扫描了@Controller相关的注解,所以就不需要再次扫描了,由于spri ...

  5. 基于Gulp + Browserify构建es6环境下的自动化前端项目

    随着React.Angular2.Redux等前沿的前端框架越来越流行,使用webpack.gulp等工具构建前端自动化项目也随之变得越来越重要.鉴于目前业界普遍更流行使用webpack来构建es6( ...

  6. java 网络编程学习笔记

    1.IP地址 IP地址组成:网络号段+主机号段 IP地址分类: A类:第一号段为网络号段+后三段的主机号段 1.0.0.1---127.255.255.254(10.x.x.x是私有地址) 一个网络号 ...

  7. Springboot 之 解决IDEA读取properties配置文件的中文乱码问题

    问题描述 当在.properties的配置文件中有中文时,读取出来的总是乱码.比如我的application.properties配置文件的内容如下: server.port=9090 test.ms ...

  8. 「mysql优化专题」这大概是一篇最好的mysql优化入门文章(1)

    优化,一直是面试最常问的一个问题.因为从优化的角度,优化的思路,完全可以看出一个人的技术积累.那么,关于系统优化,假设这么个场景,用户反映系统太卡(其实就是高并发),那么我们怎么优化? 如果请求过多, ...

  9. linhaifeng

    http://www.cnblogs.com/linhaifeng/p/7278389.html http://blog.51cto.com/egon09

  10. 【java】抓取页面内容,提取链接(此方法可以http get无需账号密码的请求)

    package 网络编程; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileOutpu ...