部署asp.net web api 应用服务器教程
部署asp.net web api 应用服务器教程
前言
ASP.NET作为微软推出的开源服务器端 Web 应用程序框架,自诞生以来便在 Web 开发领域占据着重要地位。它最大的优势在于其强大的功能与丰富的类库,这些类库如同一个百宝箱,涵盖了数据访问、用户身份验证、文件处理等几乎 Web 开发的各个方面,极大地提高了开发效率。ASP.NET构建的应用程序具有出色的性能和安全性,通过内置的优化机制和安全防护措施,能够有效抵御常见的网络攻击,保障应用程序的稳定运行。同时,ASP.NET具备良好的可扩展性和可维护性,这使得团队在开发大型项目时,能够更加高效地分工协作,后期的代码维护也变得相对轻松。
回顾我的开发历程,之前我一直使用 C# 的 HttpListener 监听端口来实现接口服务。这种方式虽然能够满足基本需求,但在功能和灵活性上存在一定的局限性。最近在开发餐厅的在线点菜微信小程序时,涉及到复杂的后台服务,为了寻求更高效、更强大的解决方案,我决定尝试使用 asp net web api。事实证明,这一选择为我的开发工作带来了极大的便利。
一、准备工作
1、开发环境准备
开发环境的搭建是项目的第一步,而 Visual Studio 作为ASP.NET开发的利器,必不可少。我选用的是 2017 版,在安装过程中,一定要注意在组件中勾选 aspnet web 开发模块。这一步至关重要,如果遗漏,后续将无法正常进行ASP.NET相关的开发工作。如果你已经安装了 Visual Studio,也无需重新安装,只需在卸载程序界面中选择修改组件,添加 aspnet web 开发模块即可。
2、服务器准备
服务器是应用程序运行的基础,要让 asp net web api 正常运行,需要安装 dotnet hosting 和.net framework 。我在服务器上安装的是 net 8.0,这是一个较新的版本,带来了性能和功能上的诸多优化。安装过程相对简单,按照官方文档的指引逐步操作即可。
安装完成后,服务器就具备了运行 asp net web api 应用的基础环境,为后续的部署工作做好了准备。
二、开发
1、使用 Visual Studio 开发工具新建项目
打开 Visual Studio,熟悉的界面展现在眼前。在新建项目的选项中,依次选择 web→asp.net web 应用程序,然后在下一步中选择 web api。
2. 创建项目
添加控制器:当系统自动创建项目后,无需急于进行其他操作。在右侧的资源管理器中找到 controllers 文件夹,
右键点击添加模块,我选择的是可读写的 web api 2 控制器。
这个控制器就像是一个交通枢纽,负责处理客户端的请求。添加完成后,就可以在其中尽情书写代码,实现各种业务逻辑。
注意事项:在控制器的开发过程中,有几个关键的地方需要注意。首先,控制器的每个方法都对应着客户端请求某个接口时会执行的函数,这就要求我们对每个方法的功能有清晰的定义。系统自动生成的路由路径有时可能不太直观,不利于我们识别具体函数的用途。这时,我们可以使用自定义路由属性来定义路径,比如[RoutePrefix ("yidianlai/myFoods")] [Route("savetableandtcode")]。如图
这样,客户端通过访问http://123.232.222.22:8080/yidianlai/myFoods/sabetableandtcode,就能够准确地进入我们定义的接口方法执行。注意属性的放置位置。
另一个需要特别注意的是,客户端请求接口一般是 json 类型的报文,这就要求我们在服务端正确地定义方法参数。同时如果客户端是提交post请求,客户端需要在请求头明确content-type为json格式,服务器需要接收的方法使用[httppost],系统默认是接收get方式,例如:
在这个代码示例中,[FromBody] JObject jsonObject表示从客户端接收的 json 数据。我们通过正确的参数定义,能够顺利地解析客户端发送的数据。我在刚开始开发时,就因为没有正确理解这一点,导致程序出现各种错误。而且asp.net的调试相对复杂,花费了我不少时间来排查问题。所以,在这里提醒大家一定要特别注意参数的定义和数据的解析。
还有方法的返回类型,你可以定义为具体类型如String,Int等;也可以返回响应接口,响应接口可以返回比较详细的信息,比如状态码等。我这里用的是IHttpActionResult ,你也可以用string,return 字符串就行了。
此外,在启动项目时,总会默认打开一个网页。如果我们不需要这个默认行为,可以在项目属性的 web 选项卡中,设置不打开启动页面。同时,为了方便本地调试,我们可以在下方设置自己的端口,这样我们可以在本地调试,在调试过程中就能够更加灵活地进行测试。
3、发布项目
当我们完成了项目的开发和调试工作后,就需要将项目发布到服务器上。在 Visual Studio 中,选择发布项目,然后选择好文件系统和路径。开发工具会自动根据我们的设置,生成服务器所需的文件。这个过程就像是将我们精心制作的产品打包,准备发往市场。按照工具提供的图例操作,即可轻松完成发布。
然后下一步
出现上图说明发布成功
生成文件后,将生成的文件夹复制到服务器。比如在自己电脑上开发,生成在文件夹 C:\asp 文件夹里,然后将asp文件夹其复制到服务器的某个磁盘,为后续的部署做好准备。
4、服务器设置
新建一个网站和应用程序池。在新建网站时,要指定端口,并定位到选择刚才复制到服务器的文件夹。
这个文件夹就像是我们的产品仓库,存放着应用程序的所有文件。应用程序池则要选择 net clr 版本。
查看模块,
需出现aspnetCoreModuleV2这个模块
完成这些设置后,就可以进行测试了。由于之前我们设置了自己的端口,所以可以在本地计算机进行调试。如果出现错误,开发工具会在错误处中断,我们可以通过查看错误信息,快速定位问题所在。
5、关于参数调试
在 asp net 开发中,由于没有可视化的窗口来直接查看参数值,所以参数调试相对麻烦一些。我们只能通过在代码中输出参数来进行调试。具体的方法有很多种,比如使用日志记录工具,将参数值记录到日志文件中;或者使用调试语句,在控制台输出参数值。如果你不知道具体的方法,可以在百度上搜索相关内容,会有很多详细的教程供你参考。
通过以上步骤,我们就完成了asp.net web api 应用服务器的部署工作。在这个过程中,虽然会遇到一些问题,但只要我们按照正确的方法和步骤进行操作,不断积累经验,就能够顺利地完成项目的开发和部署。希望我的经验能够对大家有所帮助,让大家在ASP.NET的开发道路上少走弯路。