[C#][ASP.NET] Web API 开发心得 (1) - WebForm 搭配 Web API

目前开发还是习惯 WebForm,不过体验过 MVC 各种强大功能后,例: Router、Action Filter、Model Binding,不想走回头路,所以决定在专案内导入 Web API 搭配 WebForm 使用。

新增 WebForm 网站并加入 Web API

1. 新增空白网站

点选 Visual Studio 右上角,档案 > 新增 > 网站或专案,这里网站或专案都可以,然后选择 ASP.NET 空白网站

http://img2.58codes.com/2024/20106865fMpC4lXvJd.jpg

2. 储存专案 .sln 档

网站建立完成后,点选全部储存,然后选择外层资料夹储存 .sln 专案档。

http://img2.58codes.com/2024/20106865x2i2lFi1pd.jpg

3. 将网站架设在 IIS 上

因为新增空白网站时,选择的是网站,网站执行必需架在 IIS 上,如果选择专案就不用,可以直接用 Visual Studio 执行。

架设网站步骤,开启 IIS 管理员,在 Default Web Site 上按右键选择新增应用程式,接着选择网站路径。

http://img2.58codes.com/2024/20106865GZQmPkFQeP.jpg

4. 加入组件参考

开启 Nuget 加入下列组件:

Microsoft.AspNet.WebApiMicrosoft.AspNet.WebApi.OwinMicrosoft.Owin.Host.SystemWeb

5. 新增 App_Code 资料夹,并加入 Startup.cs

我们所有的.cs程式档,都会放在 App_Code 资料夹内,新增资料夹后加入 Startup.cs。

Startup.cs 程式码:

[assembly: OwinStartup(typeof(Core.Startup))]namespace Core{    public partial class Startup    {        public void Configuration(IAppBuilder app)        {            var config = new HttpConfiguration();            // Web API 路由            config.MapHttpAttributeRoutes();            config.Routes.MapHttpRoute(                name: "DefaultApi",                routeTemplate: "api/{controller}/{id}",                defaults: new { id = RouteParameter.Optional }            );                        app.UseWebApi(config);        }    }}

6. 新增 Web API Controller

在 App_Code 资料夹内,新增 Api 资料夹用来放 Controller,接着加入 TestController 测试 Web API 有没有正确运行。

TestController 程式码:

namespace Api{    [RoutePrefix("api/test")]    public class TestController : ApiController    {        //测试API        [HttpGet]        [Route("live")]        public bool Live()        {            return true;        }    }}

测试:

在浏览器输入 api 网址后,正确显示 api 的回传值。

http://img2.58codes.com/2024/20106865Ii8t3OUut8.jpg

专案结构:

http://img2.58codes.com/2024/20106865SoLKzDijyB.jpg

结语

接下来会陆续分享 Web API 的使用心得,如有需要改进的地方,再麻烦各位大大指点。


※ 更新 2019/12/14

这系列介绍的是 Web Api 2 的用法,需要 .NET Framework 4.5 以上的版本

如果还停留在 .NET Framework 4.0 的朋友,可以参考下面这篇改用 Web Api 1,虽然功能没有后面的版本多,但总体来说差异不大。

连结: [C#][ASP.NET] 如何在 .NET Framework 4.0 加入 Web Api


参考文章

[ASP.NET] Web API in Web Form
使用 OWIN 自我装载 ASP.NET Web API 2

系列文章

[C#][ASP.NET] Web API 开发心得 (1) - WebForm 搭配 Web API
[C#][ASP.NET] Web API 开发心得 (2) - 网站的基本架构
[C#][ASP.NET] Web API 开发心得 (3) - 统一回应 JSON 格式的资料
[C#][ASP.NET] Web API 开发心得 (4) - 使用 FormsAuthentication 进行 API 授权验证
[C#][ASP.NET] Web API 开发心得 (5) - 使用 Filter 统一 API 的回传格式和例外处理
[C#][ASP.NET] Web API 开发心得 (6) - 轻量级的 ORM 工具 Dapper + Slapper.AutoMapper
[C#][ASP.NET] Web API 开发心得 (7) - 使用 Token 进行 API 授权验证


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章