webapi框架搭建-創建項目(二)-以iis為部署環境的配置


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路由


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM