一个好的网站或者App都离不开一个强大的服务器,也就是服务端,比如12306、腾讯等。那么什么是服务端?顾名思义,就是为大家服务的,这个大家便是App或者浏览器等。它要能处理所有客户端的请求,并记录下相关的动作,以便日后维护,比如需要查询服务端业务逻辑的正确性、异常的解决、测试时没有发现的BUG等。服务端,它的主要作用是承上启下,接收客户端的网络请求,并执行相应的动作,将请求反应到数据库记录下来,比如查询数据,保存数据等,然后把执行结果回馈给客户端,这时它的任务就完成了。
如果客户端比较小或者用的人不多,直接连数据库也没什么问题,把业务逻辑代码写到客户端即可,而且应该也有很多公司很多产品都是这么做的。但是MVC架构要求需要有服务端作为桥接,但这个不是主要的,最主要的原因是当一个App或者Web项目使用的人数很多时,就需要使用到服务端进行分流,以减轻数据库的压力,当一个项目很大时,一个服务端估计都不够用,这时就需要很多台服务器同时工作,以满足客户端的需求。
在接下来的几篇文章中,将简单介绍服务端的搭建,为下一系列移动端开发做个铺垫。服务端的搭建可以用很多种语言工具实现,像C#、PHP、JAVA等都可以,目前从使用ASP.NET创建一个服务器开始。
1、打开VS,新建一个Web项目,并为之命名,点击确定后选择ASP.NET项目模板,选择Web API,点击确定后稍作等待,过程可能会稍慢一点。
创建项目
选择Web API
2、创建成功后,让我们先来看一下服务端的组成结构。
组成结构
图中圈出的部分构成了我们MVC模式的项目,Models表示所有模型的类文件。Views表示视图,包含cshtml视图文件,Controllers表示控制器所在文件夹。App_Data是数据文件夹,App_Start是初始化配置的文件夹。其余的一些文件大概看一下就好了。
3、在Controllers文件夹右键添加--控制器,选择空的控制器,确定后并为之取名。在这里需要注意一点,通常我们约定:(1)所有的控制器都使用Controller结尾;(2)控制器必须要是非静态类;(3)在B/S项目中,控制器的每一个方法名都对应一个View视图,而且View(视图)的名字跟Action(方法)的名字相同(非必须,但建议这么做)。想的不周到,欢迎各位小伙伴补充。
空控制器
控制器命名
4、控制器创建OK后,我们就可以在里面写代码了,也就是传说中的接口,这里我们将接口写在控制器中。如果是从服务器获取数据,使用HttpGet即可。否则会报错:请求的资源不支持http方法“Get”。
但是据说控制器中只写业务逻辑,不写具体实现的代码,具体实现的代码在其它文件中。那这个就是后话了,咱们先看看如何写接口再说,更规范的写法再以后慢慢就会了解到,先给自己一点成就感。希望有服务端大佬能在评论中为我们指点迷津,不胜感激。
Test接口
这里简单的写了一个Test方法,先声明一点,这个写法在实际项目中并不规范,在这里只是为了测试项目的可行性,在接下来的几篇文章中会有相对规范的写法。这里先不写出来,给大家留个悬念吧。^_^
5、打开Global.asax文件,在代码的最后一行加上一句话,将数据以Json格式返回。然后打开App_Start文件夹中的WebApiConfig文件,设定路由的url模板,也就是访问服务端(API)网址的模板。
指定数据返回格式
设置路由
6、到这里就可以启动项目啦,它会在浏览器中打开,并且默认打开Index视图。多插一句吧,为小白指点一下...这个视图打开的流程大致如下:在项目启动时,先在App_Start文件夹中的RouteConfig中找到相应的路由模板,读取其url模板和默认值,defaults指定了其默认值,大概意思就是告诉浏览器,你要去Home控制器中去找Index方法,然后就会根据路由到Index方法中。在Index方法中又指出了要返回的视图的标题叫Home Page(也就是在浏览器中打开标签的名字),然后把Views文件夹中名字为Index的视图文件返回给浏览器读取。当然这是B/S架构项目的知识啦,我也不懂 ~_~
route路由
Index接口
从这里可以看出为什么要有步骤3中的第三条约定了吧。
7、在浏览器中输入相应的网址即可访问到服务端返回的数据啦。第一个Test表示Test控制器,第二个Test表示Test控制器中的Test方法。其实整个过程就是调用了一次Test方法。结果输出为Hello World!
URL
总结:服务端的作用非常重要,如果评价一个项目到底牛不牛,服务端绝对是考核的一个大头。在学生时代时都知道如果一个段落或者一个句子在文章中是起承上启下的作用时,那这句话基本上是必考,而且是占分很高。因此,会写服务端也不错哦~