前而几节我们讲到如何制定服务、发布以及挂载服务,今天我们主要谈下WCF开发中要注意的问题:
1. 先分析具体的业务逻辑,再选择合适的协议以绑定服务,比如一些单向的服务,如一般的请求-应答模式或者要求跨平台,我们可用http,
如果涉及安全性问题那么可以选择https;如果需要有消息交互或者需要服务器与连接客户推送消息,那么我们可以选择net.tcp;
2. 数据契约最好不要使用继承,类或者接口的继承虽然很好地解决了代码复用的问题,但作为服务发布时最好使用单一类,因为服务发布后
可能需要别的平台下的应用程序来调用,这样不利于理解,如果一定要使用继承,那么请用关键字标识。
3. 使用net.tcp等这种可靠连接时,客户端就定时向服务器发送消息,以免会话失效。
4. WCF服务器端如果使用了回调函数接口,那么应该考虑会话是否有效的问题。
5. 如果多个服务挂载在同一个网站下时,要考虑同步与异步的问题,尤其是采用了多线程共享内存区的时候。
6. 对所有连接请求用户必须作安全性检查,以免遭遇攻击,以致服务瘫痪。
7. 如果有消息推送服务时应按优先级建立队列,按次序向客户端推送。
8. 如果涉及其它平台下的服务访问问题,数据契约最好使用XML格式传输数据,这样双方都可以方便解析与使用。
可能在开发的过程中我们还会遇到很多问题,但学习的过程也就是积累的过程,只要我们认真总结与分析,总能找到好的解决方法。
以下附上几张前几天学习中程序截图:
1. 气象站更新天气界面:
2. 订阅用户端:
3. IIS挂载服务:
最后,如果大家有什么好的建议或者新的设计思路,可以我分享,谢谢!
源码暂时不公布,因为是我为公司做的培训DEMO,等我们培训完成后,将免费公布,请凉解!
有生成好的服务文件与及客户端可执行文件供大家浏览,在我的文件栏中。