WCF中如何为客户端的多服务实例的调用实现统一的标识?

问题描述

服务端:服务契约IService1与IService2,分别有相应服务实现客户端:在同一机器上使用ChannelFactory<TService>创建这两种服务并调用问:服务端如何知道来自客户端的2个调用来自同一台机器?使用OperationContext.Current.SessionId试过了,不同,无法实现。

解决方案

解决方案二:
引入SESSION也成呀。
解决方案三:
引用1楼的回复:

引入SESSION也成呀。

如何引用?
解决方案四:
试验一下这个好用不://GetClientmachinenameRemoteEndpointMessagePropertymessageProperty=OperationContext.Current.IncomingMessageProperties[RemoteEndpointMessageProperty.Name]asRemoteEndpointMessageProperty;Console.WriteLine("Remoteaddressis:{0}",messageProperty.Address);

解决方案五:
用IP地址应该无法解决。假设两客户端在内网,不管它们是否在同一内网,WCF服务端所获取到的客户端IP都有可能是一样的。谢谢!引用3楼的回复:

试验一下这个好用不:C#code//GetClientmachinenameRemoteEndpointMessagePropertymessageProperty=OperationContext.Current.IncomingMessageProperties[RemoteEndpointMessageProperty.Name]asRemoteEndpo……

解决方案六:
看本人的“”
解决方案七:
引用4楼的回复:

用IP地址应该无法解决。假设两客户端在内网,不管它们是否在同一内网,WCF服务端所获取到的客户端IP都有可能是一样的。

你的意思是不是:client1,client2,不能相互通信,也即可以是ip相同,但都可以通过网络组建访问同一个Server?
解决方案八:
引用6楼的回复:

引用4楼的回复:用IP地址应该无法解决。假设两客户端在内网,不管它们是否在同一内网,WCF服务端所获取到的客户端IP都有可能是一样的。你的意思是不是:client1,client2,不能相互通信,也即可以是ip相同,但都可以通过网络组建访问同一个Server?

YES

时间: 2024-12-05 13:10:17

WCF中如何为客户端的多服务实例的调用实现统一的标识?的相关文章

WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制[下篇]

在[第2篇]中,我们深入剖析了单调(PerCall)模式下WCF对服务实例生命周期的控制,现在我们来讨轮另一种极端的服务实例上下文模式:单例(Single)模式.在单例模式下,WCF通过创建一个唯一的服务实例来处理所有的客户端服务调用请求.这是一个极端的服务实例激活方式,由于服务实例的唯一性,所有客户端每次调用的状态能够被保存下来,但是当前的状态是所有客户端作用于服务实例的结果,而不能反映出具体某个客户端多次调用后的状态.WCF是一个典型的多线程的通信框架,对并发的服务调用请求是最基本的能力和要

WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制[下篇]

在[第2篇]中,我们深入剖析了单调(PerCall)模式下WCF对服务实例生命周期的控制,现在我们来讨轮另一种极端的服务实例上下文模式:单例(Single)模式.在单例模式下,WCF通过创建一个唯一的服务实例来处理所有的客户端服务调用请求.这是一个极端的服务实例激活方式,由于服务实例的唯一性,所有客户端每次调用的状态能够被保存下来,但是当前的状态是所有客户端作用于服务实例的结果,而不能反映出具体某个客户端多次调用后的状态.WCF是一个典型的多线程的通信框架,对并发的服务调用请求是最基本的能力和要

WCF中并发(Concurrency)与限流(Throttling)体系深入解析系列[共7篇]

服务(Service)的本质就是提供服务消费者期望的某种功能,服务的价值体现在两个方面:服务本身的质量和寄宿服务的平台应付消费者的数量,并发(Concurrency)的关注的是第二个要素.WCF服务寄宿于资源有限的环境中,要实现服务效用的最大化,需要考虑如何利用现有的资源实现最大的吞吐量(Throughput).提高吞吐量就某个寄宿的服务实例(Service Instance)来说,一个重要的途径就是让它能够同时处理来自各个客户端(服务代理)的并发访问.WCF实现了一套完整的并发控制体系,为你提

WCF并发(Concurrency)的本质:同一个服务实例上下文(InstanceContext)同时处理多个服务调用请求

引言 服务(Service)的本质就是提供服务消费者期望的某种功能,服务的价值体现在两个方面:服务本身的质量和寄宿服务的平台应付消费者的数量,并发(Concurrency)的关注的是第二个要素.WCF服务寄宿于资源有限的环境中,要实现服务效用的最大化,需要考虑如何利用现有的资源实现最大的吞吐量(Throughput).提高吞吐量就某个寄宿的服务实例(Service Instance)来说,一个重要的途径就是让它能够同时处理来自各个客户端(服务代理)的并发访问.WCF实现了一套完整的并发控制体系,

不引用服务而使用WCF,手动编写客户端代理类

前面我写过一个用WCF开发的聊天程序,大家可以翻看前面的博文. 在那个聊天程 序中,我是不引用服务而直接使用WCF.之前没有跟大家说这一知识点,对于初学者朋友来说 ,可能不知道怎么回事. 我们之所以说WCF比一般的Web Service要强大得多,是因为 它要比一般的Web服务要灵活得多,而且它不仅仅能在IIS服务器上运行,其实它可以用很多 种方法来运行,哪怕一个控制台应用程序. 现在,大家可以回忆一下前面我写的<传 说中的WCF>,我上面的例子绝大多数都是控制台应用程序类型的.我们应当把WC

wcf-WCF,客户端上传图片到服务端,然后再存放到数据库中的image字段中。

问题描述 WCF,客户端上传图片到服务端,然后再存放到数据库中的image字段中. WCF的问题.我现在在需要上传相片到数据库中存储,数据库中想用image数据类型来存储,不是用相片的路径.功能要求是在客户端首先将图片显示在PictuerBox中,然后点击上传.上传成功后需要从数据库中把相片取出来显示在PictuerBox).求案例 解决方案 http://blog.sina.com.cn/s/blog_a339e95f0101aakx.html 传输,直接传字节数组就可以了. 解决方案二: h

WCF中的REST架构二 (支持AJAX的WCF服务

我在昨天的文章WCF中的REST架构一(REST 概述)谈了REST的基本概要,并提出了从HI REST (高REST)到 LO REST (低REST) 的RESTFULness(REST度)的概念.在今天的文章中,我将详细介绍大家可能最为熟悉的REST风格的WCF 服务:支持AJAX的服务.此类服务应属于LO REST的范畴.现在很多人直觉地将"好"等同于"高大全",因而低估了这种LO REST实现的价值.本篇将告诉你这决非事实,支持AJAX的WCF服务是足够强

socket-Java中的Socket服务中如何实现客户端和服务端多次通讯

问题描述 Java中的Socket服务中如何实现客户端和服务端多次通讯 比如,服务器给客户端发一个信息.然后服务端根据客户端发送的信息判断,再回复一个信息,就是多次读和写的问题 解决方案 可以利用多线程, 服务器端不断接收客户端连接, 连接一个就开一个线程处理 客户端的交互, 解决方案二: 这里有一个简单的例子,Client端发送消息给Server端,并读取Server端的回复信息:而Server端则先读取Client端的数据,再回复数据.Server端: public class Main {

如何在wcf中读取asp.net cookie的值?? wcf服务端和asp.net网站在同一域名下

问题描述 如何在wcf中读取asp.netcookie的值??wcf服务端和asp.net网站在同一域名下 解决方案 解决方案二: 解决方案三:引用1楼fangxinggood的回复: http://blog.csdn.net/fangxinggood/archive/2011/04/19/6332489.aspx 1楼正解.解决方案四:我现在是网站登录用cookie保存用户信息,想在wcf中读取cookie信息,这个要怎么弄?配置文件都改过了,还是获取不到cookie解决方案五:wcf可以利用