WCF 入门概念
来源:互联网 发布:php源码学习 编辑:程序博客网 时间:2024/05/16 17:16
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 入门
- WCF入门
- WCF入门
- WCF入门
- wcf入门
- WCF入门
- WCF入门
- WCF入门
- WCF入门
- WCF基础概念
- WCF基础概念
- WCF-基础概念
- WCF 应用概念
- .net wcf 概念介绍
- WCF 学习笔记 一WCF 基础(WCF基础概念)
- WCF学习(1)概念
- WCF不得不清楚的概念
- SkipList 跳表
- 仿京东购买数量。。。
- PHP中获取当前页面的完整URL
- Linux-free命令显示各值的具体含义
- ABAP ALV中设置CHECKBOX同时选中事件
- WCF 入门概念
- automake入门教程4
- B - Page Numbers
- Show()和ShowDialog()的区别?
- 单位阶跃函数,δ函数, gamma函数
- 8、删除myeclips自带的server
- 39监听去电
- HDU 1599 find the mincost route 、 poj 1734 Sightseeing trip
- OC语法<4.3> Foundation框架中的集合类-NSDictionary