--order by yang
最近没事看了一下关于WCF的技术,也学了一点点,菜鸟级别。无奈无处用WCF,无意间看到短信验证码,就想使用WCF创建一个短信接口!说起短信接口,搞开发的都一定不会陌生,但一般中大型的互联网网站使用的短信接口我想都是移动或者联通电信已经做好的短信接口,无奈环境制约,想要调用他们的接口肯定有一套很复杂的申请流程,而且也不是所有人都能申请到的。作为个人学习更是不可能。无奈只能另辟办法,想到自己有一部安卓手机,于是打起它的主意。接下来就理所应当的想到了adb工具。那么ADB的全称为Android Debug Bridge,就是起到调试桥的作用。我们可以使用adb命令发送指令到我们的安卓手机,使其向一个手机号码发送消息,甚至打电话,这是一件很简单的事情,如此以来,创建短信接口的基本物理设备和环境都有了。
接下来就是设计服务了。思路是这样的,发送短信,我们首先需要得知接收人的手机号码和短信消息。作为测试,我还增加了一个打电话的功能(这本不符合设计规范)。为此我们需要服务的使用者向我们提供这些基本信息,所以我们将他们定义为数据协定,包含手机号码,信息内容。因为我们附加提供了打电话的功能,为了在一个操作中完成,我还定义了一个枚举类型来表示客户的请求类别,是发短信还是打电话!数据协定如下:
因为手机号码和操作类型是必须的,所以我们使用IsRequired=True。
接下来就是服务契约:
然后我们来实现服务契约接口:
关于adb的命令我不过多介绍,百度上很多!上图就是接口的实现!
我们使用进程托管模式发布服务:
相关配置:
运行控制台程序,让服务生效:
Ok服务部署成功!我们再来使用客户端测试:
依然使用控制台程序
首先是使用svcutil获得元数据:
添加进来
客户端代码如下:
然后我们运行程序!
1.发送短信:
然后是拨打电话测试:
大功告成!
这只是个很简单的短信接口!其实在生产环境下这些功能是远远不能满足需求的,例如我们需要追踪审计,需要有用户模块,需要有计费模块等等,这些还涉及到许多WCF的技术细节,消息协定加密等等!