我的WCF开发框架简化版及基于NET.TCP传输方式的实现..doc

我的WCF开发框架简化版及基于NET.TCP传输方式的实现..doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
我的WCF开发框架简化版及基于NET.TCP传输方式的实现.

前面介绍很多关于我的WCF开发框架的文章,前面的介绍思路,主要是基于一个整个仓库管理系统来进行整体介绍的,本来另辟蹊径,着重介绍一个备件信息的表的在我的WCF开发框架中,各层是如何体现的,通过简单的一个表的操作,走完一个WCF开发过程,着重介绍一个对象类,如何实现整个wcf的应用。另外穿插介绍如何基于net.tcp传输方式实现wcf的应用, 以及使用这种方式需要注重的地方等功能模块的介绍。 我们先来看看我的WCF开发框架整体架构设计图。 ? 上图中,值得注意的是,WCF服务层,可以Host(寄宿)在IIS中,也可以Host在Console控制台应用程序中, 或者Windows服务中等方式。 WCF 代理层一般通过在程序中添加服务引用的方式添加,添加成功后会自动生成WCF客户端的代理层,类似于添加WebService的方式。 UI可以是Winform的实现、也可以是Web的方式实现,甚至还可以是其他方式的UI实现。由于我前面介绍的WCF开发框架中,主要以Winform方式来体现,本文就另外使用的Web方式来简单介绍使用WCF服务的例子,通过简单的调用使用,我们更加清晰其调用逻辑,更好的串联起来整个WCF开发框架的实现思路。 1、 WCF服务开发 首先我们来了解一个WCF服务的开发,需要实现那些东西。从下图可以看到,需要独立一个实体类层,因为实体类是需要很多地方引用的,独立又很多好处。 其次就是业务层,它需要把我们的业务逻辑+数据访问层(可以实现多种数据库的操作)放到一起,这样作为一个整体的项目工程,更加方便管理。 创建一个WCF服务工程,添加一些必要的接口层以及配置信息,就可以实现了。具体的操作过程,可以参考《基于我的Winform开发框架扩展而成的WCF开发框架》这篇文章的介绍。 其中WCF服务层的开发就差不多定型了,您需要做的就是完善整个业务逻辑以及服务的调用(调用业务逻辑相关信息),如果你是使用我的WCF开发框架,所有基类的东西(包括业务层各种基类,WCF服务层的基类接口及服务基类)都是可以不用操心的,只需要实现自己的业务逻辑即可。 2、WCF服务发布及调用 通过以上的步骤1创建了WCF服务后,接下来就是如何Host我们创建的WCF服务并在客户进行调用了。WCF服务一般建议通过IIS的Host方式,这样方便管理也方便操作。如果您发布的WCF服务是net.tcp的传输方式,而且你的IIS是XP或者Win2003的,那么只能通过控制台的Host方式进发布服务了。因为Net.tcp的寄宿方式是需要IIS7以上的版本才可以。 控制台的Host方式也很简单,通过应用步骤1的WCF服务项目,然后再Program.cs类中实现下面的代码即可。 static void Main(string[] args) { try { ServiceHost serviceHost = new ServiceHost(typeof(ItemDetailService)); serviceHost.Open(); Console.WriteLine(服务正在进行侦听); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine(ex); Console.ReadLine(); } } 运行后,效果如下所示,就表示WCF顺利通过控制台Host成功了。 WCF客户端(本例为例子)的调用代码如下所示. namespace TestNetTcpApp { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { BindData(); } } private void BindData() { ItemDetailServiceClient client = new

文档评论(0)

s4as2gs2cI + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档