前面为大家介绍过WCF的特点,现在再讲解一下WCF基础概念。

  在WCF里,各个Application之间的通信是由EndPoint来实现的,EndPoint是WCF实现通信的核心要素。一个WCF Service可由多个EndPoint集合组成,每个EndPoint只能有一种绑定,就是说EndPoint就是通信的入口,客户端和服务端通过 EndPoint交换信息。

<service name = " " >
< endpoint address = "" binding = " wsHttpBinding " contract = " myNamespace.IService " >
</ endpoint >
</service>

  Endpoint由三部分组成:(A) Address 地址,(B)Binding 绑定,(C)Contract 契约。

  • A(Address): 通过一个URI唯一地标识一个Endpoint,并告诉WCF service的调用者如何找到这个Endpoint。
  • B(Binding): 定义了与数据传输相关的传输协议,消息编码,通信模式,可靠性,安全性,事务,互操作性等信息。Framewrok3.5里已经包括以下几种绑定:

  • C(Contract):它是有关服务响应的操作及进出消息的格式的语法描述,系统就是通过Contract实现操作的。

  下面为大家讲解一下Hello World的开发例子。

  服务器端:

using System;
using System.ServiceModel;
namespace myNamespace
{

//在服务器端定义在一个服务契约
[Servi上海网站建设ceContract(Namespace = " myNamespace " )]
public interface IService
{
[OperationContract]
String HelloWorld();
}
//实现契约
public class MyService:IService
{
public String HelloWorld(string name)
{
return "Hello World"+Name;
}
}
}

  最后上海闵行企业网站制作,服务既可以在代码中实现,也可以在配置文件中实现:

<services>
<service behaviorConfiguration="ServiceBehavior" name="Service">
//行为可以影响运行是操作的WCF类,它不公在客户端和服务器启动WCF运行时被执行,还可以在二者之间流动消息时被执行。
<endpoint address="" binding="wsHttpBinding" contract="IService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
//mexHttpBinding定义了WCF的元数据。当没有定义元数据时,服务依然能够执行,但不能在HTTP中被发现。
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior 上海企业网站制作pan>name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>

  客户端:

  通过Add Service Reference引用服务地址:

  添加配置文件:

<system.serviceModel>
<bindings>
上海闵行企业网站设计与制作 /> <basicHttpBinding>
<binding name="wsHttpBinding_IService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"

messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">

<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost/myNamespace.IService.svc" binding="wsHttpBinding"

上海徐汇企业网站制作 bindingConfiguration="wsHttpBinding_IService"

contract="myNamespace.IService" name="wsHttpBinding_IService" />
</client>
</system.serviceModel>

  最后通过代理直接调用:

static void Main(string[] args)
{
ServiceClient client=new ServiceClient();
string data=client.HelloWorld("Leslie");
Console.Writeline(data);
Console.Read();
}

  朋友,恭喜你,一个最简单Hello World的WCF已经实现。

  然而,如果你要开发一个SOA系统,你不可能将每一个类都编写成一个*.svc文件,那应该怎么做才能真正实现SOA?

  下一章将为你详细介绍如何使用WCF实现真正的SOA。

转载于:https://www.cnblogs.com/waw/archive/2011/10/19/2218078.html

使用WC“.NET研究”F实现SOA面向服务编程——简单的WCF开发实例相关推荐

  1. 一起谈.NET技术,使用WCF实现SOA面向服务编程—— 架构设计

    SOA本身就是一种面向企业级服务的系统架构,简单来说,SOA就是一种进行系统开发的新的体系架构,在基于SOA架构的系统中,具体应用程序的功能是由 一些松耦合并且具有统一接口定义方式的组件(也就是ser ...

  2. SOA面向服务的架构概念梳理

    原文地址来自:http://baike.baidu.com/link?url=C9VVTLY58Vt1JyJy0oakTA5cPp8kgT375lOujSFWtyo05hQWAQ7XltmN2W1fe ...

  3. 商城项目笔记一:搭建Maven工程,利用Dubbo实现SOA面向服务框架,部署zookeeper注册中心,FastDFS框架实现图片上传,部署nginx服务器。

    文章目录 1. 商城项目总结笔记: 1.1. 第一天工作记录:搭建Maven工程 1.2. 第二天工作记录:创建SOA面向服务架构,通过工具类实现分页技术 1.3. 第三天工作记录:部署nginx服务 ...

  4. 【转载】SOA面向服务架构简述

    在分布式系统中表现层和业务逻辑层 并不处于同一物理部署,所以我们必须存在分布式服务,以契约方式发布于网络中,我们的关注点在于服务,面向服务编程,这种通过组合业务逻辑暴露可用服务的架构叫做面向服务架构( ...

  5. soa面向服务体系结构_服务和面向微服务的体系结构简介

    soa面向服务体系结构 by Pulkit Kumar 通过Pulkit Kumar 服务和面向微服务的体系结构简介 (An introduction to service and micro-ser ...

  6. SOA面向服务架构简述

    在上篇中我们简单谈了下架构设计中服务层的简单理解,在这里我们将继续服务层的架构,在本节我们将重点在于分布式服务.在分布式系统中表现层和业务逻辑层 并不处于同一物理部署,所以我们必须存在分布式服务,以契 ...

  7. 谈谈SOA面向服务体系架构的安全问题

    谈谈SOA面向服务体系架构的安全问题 本文我们讨论的是面向服务体系架构(SOA)的安全应用.在展开讨论之前,首先让我们来解析面向服务体系架构的实际含义.面向服务体系架构是一种涉及若干以服务为导向的应用 ...

  8. SOA面向服务的架构设计

    目录 面向服务的架构 1 SOA 概述 1.1. 服务的基本结构 1.2.SOA 设计原则 1.3. 服务构件与传统构件 2 SOA 的关键技术 2.1. UDDI 2.2.WSDL 2.3.SOAP ...

  9. Atitit 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)的区别和联系...

    Atitit 面向对象编程(OOP).面向组件编程(COP).面向方面编程(AOP)和面向服务编程(SOP)的区别和联系 1. 面向组件编程(COP) 所以,组件比起对象来的进步就在于通用的规范的引入 ...

最新文章

  1. 有没有记录程序运行中所有的函数调用堆栈的工具?
  2. javascript object 转换int_关于javascript 中类型转换那些事你知道吗?
  3. mysql proxy性能差_mysql性能的检查和优化方法
  4. python英文高频句统计_使用Python 统计高频字数的方法
  5. java在己有的类创子类怎么创_使用Java创建自己的异常子类...
  6. 我一哥们,在东莞和五名女孩被抓了.....
  7. LeetCode 1769. 移动所有球到每个盒子所需的最小操作数(前缀和)
  8. 《并行计算的编程模型》一1.10 MPI开发心得
  9. Python 数据结构与算法 —— 从分治的角度看快速排序、归并排序
  10. 冒泡排序(一分钟懂)
  11. Unity3D游戏开发,适配阿拉伯地区文本显示
  12. 5.8G雷达感应模块,微波雷达传感器技术,人体存在感应雷达
  13. FL studio 20简易入门教程 -- 第三篇 -- 菜单栏讲解(下)
  14. java经典源码_java经典源代码
  15. 手把手教你实现HBase免切片渲染空间大数据
  16. 像素,视频制式,数字_模拟信号摄像头
  17. 深圳注册公司可以异地办公吗
  18. 编写ATL工程实现ActiveX控件调用cryptoAPI接口(一)------------签名与验证
  19. springboot整合mina
  20. QQ2011捆绑并强制用户安装QQ电脑管家,小Q书桌和金山毒霸,你是什么态度?

热门文章

  1. 不戴口罩还想出门?硬核口罩佩戴检测模型向你发出警告
  2. 基于TensorFlow 2.0的中文深度学习开源书来了!GitHub趋势日榜第一,斩获2K+星
  3. 沈向洋官宣离职微软!他是微软级别最高的中国人、微软AI领导者,21年前参与创办MSRA...
  4. 2019中国人工智能年度评选启幕,3大奖项,锁定AI Top玩家
  5. 『中级篇』docker之CI/CD持续集成-项目生成镜像(76)
  6. jquery easyui的应用-2
  7. git merge 和 git merge --no-ff
  8. Mybatis操作数据库实现主键自增长
  9. centos 的epel源配置
  10. 柜位预測(一)——显示柜位曲线图