随笔分类 -  WCF

摘要:在asp.net中含有会话,是保存值,供所有的程序使用,同样在wcf中也有会话,供多个客户端使用。会话的支持通常在契约定义的开始标出,如下[ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples", SessionMode = SessionMode.Required)] public interface ICalculatorSession 实例化是对每个服务的调用时的实例化方式,通常在契约的实现的开始标出,如下[ServiceBehavior(ConcurrencyMode = Concurr 阅读全文
posted @ 2014-01-04 17:11 haiziguo 阅读(298) 评论(0) 推荐(0) 编辑
摘要:客户端->服务端—>客户端客户端代码:using (new OperationContextScope(client.InnerChannel)) { Message request = Message.CreateMessage(OperationContext.Current.OutgoingMessageHeaders.MessageVersion, "http://Microsoft.ServiceModel.Samples/IService1/Sum", values); 请求 Message reply = client.Sum(request); 阅读全文
posted @ 2014-01-03 11:26 haiziguo 阅读(1428) 评论(0) 推荐(0) 编辑
摘要:1.最多一个参数和一个返回值,返回值和参数的类型都是消息类型。下面的代码为定义一个消息契约的实例[MessageContract] public class MyMessage { private string operation; private double n1; private double n2; private double result; //Constructor - create an empty message. public MyMessage() {} //Constructor - create a message and p... 阅读全文
posted @ 2014-01-03 11:26 haiziguo 阅读(443) 评论(0) 推荐(0) 编辑
摘要:当使用DataMember时,和访问符无关,及时使用了private,成员都是可见的。相反如果使用static,为不可见。上述的两个数据成员是等效的,如果是等效的话 数据成员的顺序也必须是相同的。4.数据契约已知类型——使用KownType特性。因为数据类型都是在服务端协定好的,客户端为了兼容多种数据类型,所以可能参数为"比较大的类”(通常是基类)会使用KownType特性,以达到发送的数据契约类型是从接收端期望接收的数据契约类型继承的目的。客户端代码:下面是客户端参数:static void Test(ComplexNumber cn) { double d = cn.imagin 阅读全文
posted @ 2014-01-01 19:48 haiziguo 阅读(340) 评论(0) 推荐(0) 编辑
摘要:win8的如下.打开iis新建一个应用程序MyWcfTest检查iis中的处理程序映射,含有svc说明激活了。然后把svc文件和webconfig放入到指定的目录上。使用地址http://localhost/MyWcfTest/service.svc来在ie浏览,其中MyWcfTest为应用程序名称,service.svc为服务文件。注意上面的配置文件的绑定使用的是wsHttpBiniding接着是添加服务引用。就ok了。当然也可生成代理类。没有直接引用来的直接。在此只留个链接:http://www.cnblogs.com/gaoweipeng/archive/2009/07/26/15282 阅读全文
posted @ 2014-01-01 19:48 haiziguo 阅读(367) 评论(0) 推荐(0) 编辑
摘要:根据这几幅应该不再为wcf中的配置发愁了。 阅读全文
posted @ 2013-12-29 21:58 haiziguo 阅读(319) 评论(0) 推荐(0) 编辑
摘要:wcf中的契约通信默认是请求恢复的方式,当客户端发出请求后,一直到服务端回复时,才可以继续执行下面的代码。除了使用请求应答方式的通信外,还可以使用全双工。下面给出例子:1.添加一个wcf类库2.在服务契约添加如下一个片段[ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples", SessionMode = SessionMode.Required, CallbackContract = typeof(ICalculatorDuplexCallback))] public interface IC 阅读全文
posted @ 2013-12-29 21:53 haiziguo 阅读(9129) 评论(3) 推荐(1) 编辑
摘要:终结点的地址的Uri属性作为终结点地址的唯一标示。包括客户端终结点和服务端终结点。一、服务端终结点:服务端的终结点通过宿主的添加方法暴露出来,从而成为可以调用的资源。下面是将服务绑定到宿主的代码:定义宿主时使用的是契约的实现类,也即服务类,添加终结点到宿主的使用的是契约接口。1.1代码实现代码实现往指定服务的宿主上添加终结点:1.2配置实现下面通过配置实现:代码实现对应的配置如下:1.3svc文件的配置下面也给出svc文件中的配置:由于svc文件被部署到了IIS上,所以对应的有端口,本身svc是一个文件,对应的也有路径,所以配置不用使用address字段1.4获取宿主上的终结点可以向一个宿主身 阅读全文
posted @ 2013-11-29 16:40 haiziguo 阅读(15838) 评论(0) 推荐(0) 编辑