使用WC“.NET研究”F实现SOA面向服务编程——简单的WCF开发实例
前面为大家介绍过WCF的特点,现在再讲解一下WCF基础概念。
在WCF里,各个Application之间的通信是由EndPoint来实现的,EndPoint是WCF实现通信的核心要素。一个WCF Service可由多个EndPoint集合组成,每个EndPoint只能有一种绑定,就是说EndPoint就是通信的入口,客户端和服务端通过 EndPoint交换信息。
< 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.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;
}
}
}
最后上海闵行企业网站制作,服务既可以在代码中实现,也可以在配置文件中实现:
<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引用服务地址:
添加配置文件:
<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>
最后通过代理直接调用:
{
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开发实例相关推荐
- 一起谈.NET技术,使用WCF实现SOA面向服务编程—— 架构设计
SOA本身就是一种面向企业级服务的系统架构,简单来说,SOA就是一种进行系统开发的新的体系架构,在基于SOA架构的系统中,具体应用程序的功能是由 一些松耦合并且具有统一接口定义方式的组件(也就是ser ...
- SOA面向服务的架构概念梳理
原文地址来自:http://baike.baidu.com/link?url=C9VVTLY58Vt1JyJy0oakTA5cPp8kgT375lOujSFWtyo05hQWAQ7XltmN2W1fe ...
- 商城项目笔记一:搭建Maven工程,利用Dubbo实现SOA面向服务框架,部署zookeeper注册中心,FastDFS框架实现图片上传,部署nginx服务器。
文章目录 1. 商城项目总结笔记: 1.1. 第一天工作记录:搭建Maven工程 1.2. 第二天工作记录:创建SOA面向服务架构,通过工具类实现分页技术 1.3. 第三天工作记录:部署nginx服务 ...
- 【转载】SOA面向服务架构简述
在分布式系统中表现层和业务逻辑层 并不处于同一物理部署,所以我们必须存在分布式服务,以契约方式发布于网络中,我们的关注点在于服务,面向服务编程,这种通过组合业务逻辑暴露可用服务的架构叫做面向服务架构( ...
- soa面向服务体系结构_服务和面向微服务的体系结构简介
soa面向服务体系结构 by Pulkit Kumar 通过Pulkit Kumar 服务和面向微服务的体系结构简介 (An introduction to service and micro-ser ...
- SOA面向服务架构简述
在上篇中我们简单谈了下架构设计中服务层的简单理解,在这里我们将继续服务层的架构,在本节我们将重点在于分布式服务.在分布式系统中表现层和业务逻辑层 并不处于同一物理部署,所以我们必须存在分布式服务,以契 ...
- 谈谈SOA面向服务体系架构的安全问题
谈谈SOA面向服务体系架构的安全问题 本文我们讨论的是面向服务体系架构(SOA)的安全应用.在展开讨论之前,首先让我们来解析面向服务体系架构的实际含义.面向服务体系架构是一种涉及若干以服务为导向的应用 ...
- SOA面向服务的架构设计
目录 面向服务的架构 1 SOA 概述 1.1. 服务的基本结构 1.2.SOA 设计原则 1.3. 服务构件与传统构件 2 SOA 的关键技术 2.1. UDDI 2.2.WSDL 2.3.SOAP ...
- Atitit 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)的区别和联系...
Atitit 面向对象编程(OOP).面向组件编程(COP).面向方面编程(AOP)和面向服务编程(SOP)的区别和联系 1. 面向组件编程(COP) 所以,组件比起对象来的进步就在于通用的规范的引入 ...
最新文章
- 有没有记录程序运行中所有的函数调用堆栈的工具?
- javascript object 转换int_关于javascript 中类型转换那些事你知道吗?
- mysql proxy性能差_mysql性能的检查和优化方法
- python英文高频句统计_使用Python 统计高频字数的方法
- java在己有的类创子类怎么创_使用Java创建自己的异常子类...
- 我一哥们,在东莞和五名女孩被抓了.....
- LeetCode 1769. 移动所有球到每个盒子所需的最小操作数(前缀和)
- 《并行计算的编程模型》一1.10 MPI开发心得
- Python 数据结构与算法 —— 从分治的角度看快速排序、归并排序
- 冒泡排序(一分钟懂)
- Unity3D游戏开发,适配阿拉伯地区文本显示
- 5.8G雷达感应模块,微波雷达传感器技术,人体存在感应雷达
- FL studio 20简易入门教程 -- 第三篇 -- 菜单栏讲解(下)
- java经典源码_java经典源代码
- 手把手教你实现HBase免切片渲染空间大数据
- 像素,视频制式,数字_模拟信号摄像头
- 深圳注册公司可以异地办公吗
- 编写ATL工程实现ActiveX控件调用cryptoAPI接口(一)------------签名与验证
- springboot整合mina
- QQ2011捆绑并强制用户安装QQ电脑管家,小Q书桌和金山毒霸,你是什么态度?
热门文章
- 不戴口罩还想出门?硬核口罩佩戴检测模型向你发出警告
- 基于TensorFlow 2.0的中文深度学习开源书来了!GitHub趋势日榜第一,斩获2K+星
- 沈向洋官宣离职微软!他是微软级别最高的中国人、微软AI领导者,21年前参与创办MSRA...
- 2019中国人工智能年度评选启幕,3大奖项,锁定AI Top玩家
- 『中级篇』docker之CI/CD持续集成-项目生成镜像(76)
- jquery easyui的应用-2
- git merge 和 git merge --no-ff
- Mybatis操作数据库实现主键自增长
- centos 的epel源配置
- 柜位预測(一)——显示柜位曲线图