如何实现wcf服务与linux系统下的客户端 *** 作

如何实现wcf服务与linux系统下的客户端 *** 作,第1张

WCF 支持 单工,半双工,双工。 回调契约(双工)的类型通过ServiceContractAttribute特性的CallbackContract属性进行指定。 具体的代码和实现可以搜索 关键字 WCF双工通讯 来查找。

Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。

整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术。

是Windows平台上开发分布式应用最佳的实践方式。

简单的归结为四大部分:

1、网络服务的协议,即用什么网络协议开放客户端接入。

2、业务服务的协议,即声明服务提供哪些业务。

3、数据类型声明,即对客户端与服务器端通信的数据部分进行一致化。

4、传输安全性相关的定义。

wcf客户端:

对于 WCF 的客户端来说,WCF 服务就像是一个 Web Service 一样,在 Visual Studio 2008 中,所有 WCF 服务的连接都是由客户端的 服务代理(WCF Service Proxy) 来运行,开发人员不用花费太多心思在通信上,而 WCF Service Proxy 在 Visual Studio 中被称为服务引用(Service Reference)。

在 Visual Studio 中加入 WCF 的服务引用时,Visual Studio 会自动帮开发人员做掉一些必要工作(例如组态创建以及产生 Service Proxy 等),开发人员只需要在代码中取用 WCF Service Proxy 对象即可。

既然你用WCF,为什么还让客户端连接数据库呢?

重新设计一下!

客户端只知道服务器的存在,数据库对客户端应该是透明的;

客户端只是想服务器发出请求,至于该请求的处理是对于数据库还是内存或者其他,客户端不需要知道,只要得到服务器的处理结果就可以。

另外,无论客户端还是服务器,用一个数据库连接是不应该的,遇上多线程就麻烦了:不做同步处理会产生错误,做同步处理效率又不行……

------------

你数据库连接使用不对,如果只用一个连接,别说事务,就是并发的普通处理都可能异常;应该每个请求都创建连接、打开、关闭、释放。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8898139.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-22
下一篇 2023-04-22

发表评论

登录后才能评论

评论列表(0条)

保存