将WebApi Host到控制台和IIS

近期学习WebApi,初步感想是用起来很容易上手,概念上也很好理解,唯一不爽的地方就在于如果在Visual Studio环境里建立Webapi程序,它会自动给创建很多文件夹和文件,其中很多都是用不到的,经过Google和摸索,结合项目的实际需要,将Webapi作为一个单独的Class library存放,而Host程序分别为Console和IIS,下面做一下记录。

一、建立类库项目 

1、在Visual Studio开发环境中,点击菜单 File->New Project->Class Library 新建一个类库项目, 如图:

 2、安装 Microsoft.AspNet.WebApi.Core 包及其依赖

在Visual Studio开发环境中,点击菜单 Tools -> NuGet Package Manager -> Package Manager Console 进入 Nuget包管理器控制台,选择 Default project 为刚刚建立的类库项目,这里是 controller_library

在包管理器控制台中输入:

 Install-Package microsoft.aspnet.webapi.core

如图:

 3、编写测试Controller

 

4、安装 microsoft.aspnet.webapi.owin 包及其依赖

  

 5、编写Startup

解决方案中,右键单击 controller_library, add -> class , 命名为 Startup.cs 

 

二、建立宿主程序(Host)

1、在解决方案上单击右键,新建控制台项目,命名为WebAPIHost,打开 包管理器控制台,输入:

 install-package microsoft.aspnet.webapi.owin

 2、添加引用

3、编写宿主代码

4、编译解决方案,运行宿主程序:

5、测试

三、Host WebAPI 到IIS

1、建立空的Asp.Net 项目,将其命名为 WebAPIHost_IIS

2、右键单击 WebAPIHost_IIS 项目,添加目录 App_Start 并添加 WebApiConfig类

3、安装包 Microsoft.AspNet.WebApi.Core 及其依赖

install-package microsoft.aspnet.webapi.core

 4、WebApiConfig的实现代码如下:

5、添加 Global Application Class

右键单击项目,add-> Global Application class,默认名称即可,这里是 Global.asax

6、安装 Microsoft.AspNet.WebApi.WebHost 包及其依赖

install-package Microsoft.AspNet.WebApi.WebHost

7、Global.asax.cs 代码如下:

8、现在,打开IIS(Internet信息服务管理器),添加网站绑定端口,目录指向 WebAPIHost_IIS 的项目目录

9、打开浏览器测试结果:

 本文完。

原文地址:https://www.cnblogs.com/zanpen2000/p/6281766.html