代码改变世界

ASP.NET MVC Web API For APP

2016-05-30 17:55  只喝牛奶的杀手  阅读(607)  评论(1编辑  收藏  举报

      近来很多大型的平台都公开了Web API。比如百度地图 Web API,做过地图相关的人都熟悉。公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过在浏览器中使用 JavaScript来创建更丰富的HTML体验。所以我相信Web API会越来越有它的用武之地。说道Web API很多人都会想到Web服务,但是他们仍然有一定的区别:Web API服务是通过一般的 HTTP公开了,而不是通过更正式的服务合同(如SOAP);

      正如你所知,现在有很多可用的技术允许你创建被不同客户端所消费的服务,这些客户端可能是Web应用程序、Windows应用程序和移动应用等。服务可以支持http协议或者其他协议。接下来的讨论仅限于ASP.NET Web API和WCF。

      WCF(Windows Communication Foundation),使用WCF你可以构建安全可靠的服务,并且实现跨平台继承和平滑地交互。

      Web API,一个用于构建HTTP服务的框架。现在我们每天都在使用手机、平板、apps以及各种不同类型的服务,Web API是一个简单可靠的平台,你能够用它来构建服务于大范围客户端的HTTP服务。使用Web API你可以创建完整的REST服务。

      API与WCF有什么区别,可以参考:Web API VS WCF 

      至于Web API项目的简单实用过程就不用说了,可以参考:ASP.NET MVC Web API 学习笔记---第一个Web API程序

             LogonAuthorize  该Action是否需要登录权限

      LogOutFilter()  只能在一个终端上登录

      HttpPost      RESTful的请求方式

           先判断签名是否通过验证,是否通过签名,Md5+Salt加密私钥;至于还有什么样好的加密方式,希望可以抛砖引玉!:

            string _sign = string.Format("articleid={0}&gkcustomerid={1}&salt={2}", form.ArticleID, form.GKCustomerID, CommonHelper.SecretSalt);
            if (form.Sign != CommonHelper.MD5(_sign))
            {
                return new GkmJsonResult() { Result = (int)EnumHelper.EnumJsonResult.ModelStateError, Msg = "未通过签名验证" };
            }

         返回结果类型为:

          public class GkmJsonResult
          {
               public int Result { get; set; }
               public string Msg { get; set; }
               public object Data { get; set; }
          }

          返回一个GkmJsonResult类型,定义Result,Msg,Data等定义;Result返回的结果,返回的信息,返回的数据;

          第一做APP接口,流量优化方面的知识欠缺,比如怎样做出让APP接口省流量,除了对接口的图片处理和一些数据的压缩,还真不知道该怎么办?望大神们指导!