如何在Windows Server2008R2中部署WebAPI

如何在Windows Server2008R2中部署WebAPI,第1张

在iis中选中需要设置的webapi站点,双击“处理程序映射”,在d出框中添加对webapi的请求映射早明。请求路径:api /*可执行文件:%windir%\Microsoft.NET\Framework64\v4.0.30319\槐配aspnet_isapi.dll,注意32位和64位路径的区别。名称:webapi,自定义名称即可修改应用程序池的管道模式将webapi的应用程序池的管道模式修改为经典更新dll映射添加之后,访问站点,不会报404错误了,但会报一些dll文件未能加载,陆明告一共有4个,名称分别如下:System.Web.WebPages.Deployment.dllMicrosoft.Web.Infrastructure.dllSystem.Web.WebPages.Razor.dllSystem.Web.WebPages.dll将上面四个dll文件复制到webapi站点到bin目录中,问题解决。

通过webAPI在server端开发一个借口,在client端调用此借口的完整过程。

(VS2010版本如果包括MVC4也可以创建webAPI,或者vs2012及以上版本)

运行环境:VS2017

开发语言:c#

一、server端

1.创建webapi项目,打开vs2017-文件-新建-项目。

2.在项目中添加Controllers和Models两个文件夹,分别用于存放控制器类纯裤和实体类。

在Controllers文件夹中添加API控制器类。

控制类添加完成后,会自动生成,GET,POST,PUT,DELETE四个方法。

通过地址确定方法:

get方式:http://IP地址:端口号/api/控制器名称

post方式:[HttpGet("方法标识名称")] http://IP地址:端陆旁口号/api/控制器名称/方法标识名称

添加一个方法,在方法中描述接口需要完成的 *** 作以及返回值。

需要注意事项:

1)传进来参数的数据类型必做悉简须与接收的数据类型相同。

二、client端

1.添加控制台应用程序用来测试调用接口是否成功。

2.定义一个方法用来调用接口并返回数据。

3.定义一个restful接口帮助类。

前言

随着上位机开发技术的广泛应用,很多小伙伴会有上位机与MES等系统进行数据交互的需求,这时候,我们就需要了解WebAPI的相关技术。

什么是WebAPI?

WebAPI是一个简单的构建HTTP服务的新框架,用于对接各种客户端(浏览器,移动设备),在.Net平台上,WebAPI是一个开源的、理想的、构建REST-ful服务的技术。

WebAPI部署在哪里?

WebAPI部署在IIS中,用于给外部应用提供数据。

为什么要使用WebAPI?

WebAPI本质是网络应用程局仿序接口,网络应用可以通过API接口,可以实现存储服务、消息服务、计算服务等能力,利用这些能力可以进行开发出强大功能的web应用。

创建WebAPI

1、打开VS2019,创建一个新项目,项目模板选择ASP.NET Web应用程序(.NET Framework),如下所示

2、创建完成后,取一个项目名称,然后点击下一步,在下面的页面中,选择模板为Web API,如下所示:

3、创建项目需要一点时间,由于我们选择好了Web API,所以创建好的项目界面自动会添加好Models/Controllers/Views等文件夹,如下所示:

4、在Models文件夹下,创建一个实体类,如下所示:

5、在Controllers文件夹下,右击创建控制逗让器,这里注意要选择Web API 2控制器模板,名称为THMonitorController,继承ApiController,如下所示:

6、在THMonitorController控制器中,创建一个实体集合对象,同时添加两个Get开头的方法,如下所示:

public class THMonitorController : ApiController

{

THMonitor[] THMonitors = new THMonitor[]

{

newTHMonitor(){Name="温度1",Value="22.3",Unit="℃",Desc="温度1"},

newTHMonitor(){Name="温度2",Value="22.1",Unit="℃",Desc="温度2"},

newTHMonitor(){Name="温度3",Value="32.3",Unit="℃",Desc="温度3"},

newTHMonitor(){Name="温度4",Value="22.3",Unit="℃",Desc="温度4"},

newTHMonitor(){Name="湿度1",Value="42.3",Unit="%",Desc="湿度1"},

newTHMonitor(){Name="湿度2",Value="42.1",Unit="%",Desc="湿度2"},

newTHMonitor(){Name="湿度3",Value="42.3",Unit="%",Desc="湿度3"},

newTHMonitor(){Name="湿度4",Value="42.3",Unit="%",Desc="湿度4"},

}

public IEnumerableGetAllTHMonitor()

{

returnTHMonitors

}

public THMonitor GetTHMonitorByName(string name)

{

THMonitor contact = THMonitors.FirstOrDefault(item => item.Name == name)

if(contact == null)

{

throw new 山腊局HttpResponseException(HttpStatusCode.NotFound)

}

returncontact

}

7、这样,最简单的一个WebAPI项目就完成了,直接运行即可,运行地址为https://localhost:44382/。

Web API测试

使用Postman接口工具来进行测试。

Postman是一款功能强大的HTTP调试与模拟插件。获取安装包,后台回复 Postman

1、启动Postman之后,在地址栏输入https://localhost:44382/,如果要获取所有的数据,请求方式选择Get,地址栏后面加个api/THMonitor,点击Send,可以看到返回的数据,结果显示为JSON格式。

2、如果想要查询某个数据,可以加个参数,地址栏为https://localhost:44382/api/THMonitor?Name=温度1,查询结果如下所示:

3、地址栏格式可以参考项目中的WebApiConfig.cs文件:

我是新阁上位机开发的付老师,用我的专业,成就你的梦想!

-END-


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12565101.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存