WCF 入门概念
2014-12-10 22:23
197 查看
WCF入门
1.SOA概念:面向服务,是一种软件系统架构
原则:边界清晰
服务自治
兼容性基于策略
共享模式和契约
2.WCF概念:是面向SOA架构的应用程序的框架(windows communication foundation)
是微软发展的一组数据通信的应用程序开发接口
服务是被动的,客户端是发起者
跨平台:J2EE,NET
性能:
提供统一的,可用于建立安全,可靠的面向服务的应用的高效开发平台,具有统一性
集合了:ASMX,WSE,ROMOTING(不能跨平台),Enterprise Service,MS MQ
3.接口与契约
WCF接口:默认是public abstract
例子:public interface MyInterface{void foo();}
接口特性:接口不可以被实例
实现类必须实现接口所有的方法
实现类可以实现多个接口
接口中的变量都是静态常量(静态属性)
接口是一种能力
接口是一种约定
关键字:
4:理解契约式编程:是编程的一种方法;
Client 和 Server关系被打破,大家都是平等,核心就是接口
一. 实现接口:
Using System.serviceModel;
namespance OTS
{
[ServiceContract]
pulic interface myInterface{
[OperationContract]
string getServiceTime();
[OperationContract]
string getServiceDate();
}
}
二. 引用接口并实现:
namespace MyName
{
public class myclass : OTS.MyInterface
{
public string getServiceTime(){return ...};
public string getServiceDate(){return ...};
}
}
三. 使用配置文件部署服务
1.WCF地址:服务三要素 ADDRESS BINDING CONTRACT
2.配置文件配置:
< system.ServiceModel>
<services>
<service name="服务器名称" behaviorConfigaration="..">
<host>
<baseAddress>
<add baseAddress="http://host:8002/test" />
</baseAddress>
</host>
<endpoint address="" binding="baseHttpBinding" contract="接口名称" />
</services>
端点地址定义:
1)终结点的地址由EndpoinAddress类表示,该类包含一个表示服务地址的统一资源定位符(URI),其包含四个部分
例子:"http://www.sina.com.cn:3200/mathservice"
a)方案:HTTP
b)计算机:www.sina.com.cn
c)端口:3200
d)路径
五:WCF通信方式:
1.请求/响应模式 2.单工 3.双工
请求/响应模式:a)客户端向服务端发送消息,服务端响应.客户端在接收到服务端的响应之前,客户端不会继续执行任何操作;
b)它是默认的消息模式
c)返回值是void,也属于请求/响应模式
d)除非客户端有异步调用操作,否则客户端将停止处理,直到收到响应
缺点:降低客户端性能和响应能力
优点:响应消息可返回SOAP错误,可获取错误状况
2.单工模式:单项通信,客户端发送消息,服务端不会发送响应
设置:[perationContract(IsOneWay=true)] void insert();
用于自动模式
3.双工模式:提供异步体验,服务端和客户端均能够独立的向对方发送消息.若要设定双工协定,还必须设计回调协议,并将该回调协定的类型分配给标记服务协定的ServiceContractAttribute属性(attribute)的callbackContract 属性.
若要实现双工模式,必须创建第二个接口,该接口包含在客户端调用的方法声明
六 异步调用模式:
WCF异步的两种方式:
1)用svcuti生成异步功能的代理类
2)修改接口定义异步方法
服务端只提供同步接口,但是客户端调用的时候,生成异步操作;
操作:引用服务器接口的时候,选择异步调用,则会自动生成异步调用方法
代码1:
client.BeginHello("....",doCallback,client);
private void doCallback(IAsyncResult ar)
{
string s = (myservice.serviceClient)ar.Asyncstate1.EndHello();
}
}
代码2:
是否使用异步操作,由客户端说了算,服务器端不管
优点:提高性能,异步能增强健壮性,改善用户体验;
缺点:滥用异步会影响性能;
增加编程难度;
WCF入门
1.SOA概念:面向服务,是一种软件系统架构
原则:边界清晰
服务自治
兼容性基于策略
共享模式和契约
2.WCF概念:是面向SOA架构的应用程序的框架(windows communication foundation)
是微软发展的一组数据通信的应用程序开发接口
服务是被动的,客户端是发起者
跨平台:J2EE,NET
性能:
提供统一的,可用于建立安全,可靠的面向服务的应用的高效开发平台,具有统一性
集合了:ASMX,WSE,ROMOTING(不能跨平台),Enterprise Service,MS MQ
3.接口与契约
WCF接口:默认是public abstract
例子:public interface MyInterface{void foo();}
接口特性:接口不可以被实例
实现类必须实现接口所有的方法
实现类可以实现多个接口
接口中的变量都是静态常量(静态属性)
接口是一种能力
接口是一种约定
关键字:
4:理解契约式编程:是编程的一种方法;
Client 和 Server关系被打破,大家都是平等,核心就是接口
一. 实现接口:
Using System.serviceModel;
namespance OTS
{
[ServiceContract]
pulic interface myInterface{
[OperationContract]
string getServiceTime();
[OperationContract]
string getServiceDate();
}
}
二. 引用接口并实现:
namespace MyName
{
public class myclass : OTS.MyInterface
{
public string getServiceTime(){return ...};
public string getServiceDate(){return ...};
}
}
三. 使用配置文件部署服务
1.WCF地址:服务三要素 ADDRESS BINDING CONTRACT
2.配置文件配置:
< system.ServiceModel>
<services>
<service name="服务器名称" behaviorConfigaration="..">
<host>
<baseAddress>
<add baseAddress="http://host:8002/test" />
</baseAddress>
</host>
<endpoint address="" binding="baseHttpBinding" contract="接口名称" />
</services>
端点地址定义:
1)终结点的地址由EndpoinAddress类表示,该类包含一个表示服务地址的统一资源定位符(URI),其包含四个部分
例子:"http://www.sina.com.cn:3200/mathservice"
a)方案:HTTP
b)计算机:www.sina.com.cn
c)端口:3200
d)路径
五:WCF通信方式:
1.请求/响应模式 2.单工 3.双工
请求/响应模式:a)客户端向服务端发送消息,服务端响应.客户端在接收到服务端的响应之前,客户端不会继续执行任何操作;
b)它是默认的消息模式
c)返回值是void,也属于请求/响应模式
d)除非客户端有异步调用操作,否则客户端将停止处理,直到收到响应
缺点:降低客户端性能和响应能力
优点:响应消息可返回SOAP错误,可获取错误状况
2.单工模式:单项通信,客户端发送消息,服务端不会发送响应
设置:[perationContract(IsOneWay=true)] void insert();
用于自动模式
3.双工模式:提供异步体验,服务端和客户端均能够独立的向对方发送消息.若要设定双工协定,还必须设计回调协议,并将该回调协定的类型分配给标记服务协定的ServiceContractAttribute属性(attribute)的callbackContract 属性.
若要实现双工模式,必须创建第二个接口,该接口包含在客户端调用的方法声明
六 异步调用模式:
WCF异步的两种方式:
1)用svcuti生成异步功能的代理类
2)修改接口定义异步方法
服务端只提供同步接口,但是客户端调用的时候,生成异步操作;
操作:引用服务器接口的时候,选择异步调用,则会自动生成异步调用方法
代码1:
client.BeginHello("....",doCallback,client);
private void doCallback(IAsyncResult ar)
{
string s = (myservice.serviceClient)ar.Asyncstate1.EndHello();
}
}
代码2:
是否使用异步操作,由客户端说了算,服务器端不管
优点:提高性能,异步能增强健壮性,改善用户体验;
缺点:滥用异步会影响性能;
增加编程难度;
相关文章推荐
- WCF入门概念归纳
- 快速入门系列--WCF--01基础概念
- WCF事务的概念与入门详解(一)
- WCF事务的概念与入门详解(二)
- Java入门需掌握的30个基本概念
- Java入门需掌握的30个基本概念
- Java入门需掌握的30个基本概念[转]
- ERwin相关概念快速入门(albertyi原创)
- XSLT轻松入门第一章:XSLT的概念
- Java新手入门的30个基本概念 chensheng913 [原作]
- [转贴]Java新手入门的30个基本概念
- Java新手入门的30个基本概念 (对Java新手一定有用)
- Java入门需掌握的30个基本概念
- Java入门需掌握的30个基本概念
- Java入门需掌握的30个基本概念
- Java入门需掌握的30个基本概念
- Java入门需掌握的30个基本概念
- SAP ABAP/4学习--学习使用OO在ABAP中.简单入门概念.用个例子来说明
- Java入门需掌握的30个基本概念
- Winsock开发网络通信程序的经典入门——解释异步等概念