首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)WCF服务

在《基于IISWCF服务寄宿(Hosting)实现揭秘》中,我们谈到在采用基于IIS(或者说基于ASP.NETWCF服务寄宿中,具有两种截然不同运行模式ASP.NET并行(Side by Side...)模式ASP.NET兼容模式。...由于在ASP.NET兼容模式下,ASP.NET采用与.aspx Page完全一样方式处理基于.svc请求,换言之,我们就可以借助当前HttpContextSessionState维护会话状态,进而创建一个支持会话...图1 ASP.NET兼容模式案例应用结构 步骤一、定义服务契约:ICalculator 案例依然沿用计算服务例子,不过通过原来直接与传入操作数并得到运算结果方式不同,为了体现会话状态存在,我们将本案例...那么对于ASP.NET兼容模式WCF也一样,要想让服务端能够识别会话,就需要让每个服务调用HTTP请求携带Session识别信息,我们也可以通过传递Cookie方式来解决这个问题。

781100

WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)WCF服务

在《基于IISWCF服务寄宿(Hosting)实现揭秘》中,我们谈到在采用基于IIS(或者说基于ASP.NETWCF服务寄宿中,具有两种截然不同运行模式ASP.NET并行(Side by Side...)模式ASP.NET兼容模式。...由于在ASP.NET兼容模式下,ASP.NET采用与.aspx Page完全一样方式处理基于.svc请求,换言之,我们就可以借助当前HttpContextSessionState维护会话状态,进而创建一个支持会话...图1 ASP.NET兼容模式案例应用结构 步骤一、定义服务契约:ICalculator 案例依然沿用计算服务例子,不过通过原来直接与传入操作数并得到运算结果方式不同,为了体现会话状态存在,我们将本案例...那么对于ASP.NET兼容模式WCF也一样,要想让服务端能够识别会话,就需要让每个服务调用HTTP请求携带Session识别信息,我们也可以通过传递Cookie方式来解决这个问题。

965100
您找到你想要的搜索结果了吗?
是的
没有找到

WCF技术剖析系列总结篇

(阅读全文) 5、利用ASP.NET兼容模式创建支持会话(Session)WCF服务 在《基于IISWCF服务寄宿(Hosting)实现揭秘》中,我们谈到在采用基于IIS(或者说基于ASP.NET...)WCF服务寄宿中,具有两种截然不同运行模式ASP.NET并行(Side by Side)模式ASP.NET兼容模式。...只有在ASP.NET兼容模式下,我们熟悉一些ASP.NET机制才能被我们使用,比如通过HttpContext请求下下文;基于文件或者Url授权;HttpModule扩展;身份模拟(Impersonation...由于在ASP.NET兼容模式下,ASP.NET采用与.aspx Page完全一样方式处理基于.svc请求,换言之,我们就可以借助当前HttpContextSessionState维护会话状态,进而创建一个支持会话...接下来,我们就通过一个简单例子,一步步地创建这样会话服务。本案例采用如图1所示3层结构。

93490

WCF技术剖析》博文系列汇总

[第5篇] 利用ASP.NET兼容模式创建支持会话(Session)WCF服务 在《基于IISWCF服务寄宿(Hosting)实现揭秘》中,我们谈到在采用基于IIS(或者说基于ASP.NETWCF...服务寄宿中,具有两种截然不同运行模式ASP.NET并行(Side by Side)模式ASP.NET兼容模式。...只有在ASP.NET兼容模式下,我们熟悉一些ASP.NET机制才能被我们使用,比如通过HttpContext请求下下文;基于文件或者Url授权;HttpModule扩展;身份模拟(Impersonation...由于在ASP.NET兼容模式下,ASP.NET采用与.aspx Page完全一样方式处理基于.svc请求,换言之,我们就可以借助当前HttpContextSessionState维护会话状态,进而创建一个支持会话...实例与会话WCF非常重要两个特性,它们既相对独立,又互相制约。实例模式与对会话支持程度不同组合,会让最终服务表现出截然不同行为。

1.4K100

WCF技术剖析(卷1)之目录

构建一个简单WCF应用            步骤一:构建整个解决方案            步骤二:创建服务契约            步骤三:创建服务            步骤四:通过自我寄宿方式寄宿服务...            7.4.4  案例演示7-3:利用ASP.NET兼容模式创建支持会话(Session)WCF服务            7.5  通过Windows Service进行服务寄宿...WCF会话简介            9.4.2  WCF会话编程模型            9.4.3  会话(Per-Session)实例上下文模式        9.5  会话模式、绑定与实例上下文模式...            9.5.1  单调服务决定于单调实例上下文模式            9.5.2  单例服务决定于单例实例上下文模式            9.5.3  会话服务决定于会话信道...(栈)和会话实例上下文模式        9.6  WCF服务实例上下文提供机制            9.6.1  服务实例上下文提供者(InstanceContextProvider)

90790

WCF技术剖析(卷1)》(修订版)目录

WCF四大行为 7.2. ServiceHost 7.2.1. 服务描述创建(S701) 7.2.2. 运行时框架体系构建 7.2.3. 服务批量寄宿(S702) 7.2.4....ASP.NET兼容模式 7.4.5. 非HTTP协议寄宿 7.5. Windows 服务寄宿(S708) 第8章 客户端 (Client) 8.1. 一个精简版WCF框架 8.1.1....服务代理真实代理是什么? 8.1.3. 服务调用大致流程 8.1.4. 实例演示:创建一个WCF框架模拟程序 8.2. ChannelFactory 8.2.1....会话绑定 9.5. 会话模式 9.5.1. 基于信道栈服务实例上下文提供机制 9.5.2. 会话实例上下文模式与可伸缩性 9.5.3. 会话与状态无关服务设计 9.6....会话服务决定于会话信道(栈)和会话实例上下文模式 第10章 WCF实例研究 (WCF in Practice) 10.1. VM简介 10.1.1. 基本功能 10.1.2.

1K80

快速入门系列--WCF--02消息、会话服务寄宿

WCF服务是否支持会话WCF所提供服务是单例呢还是单调呢?服务寄宿和客户端代理是如何实现呢?...可以这么说,整个WCF服务都是构建在SOAP消息基础上,而SOAP消息是建立在XML这种跨平台数据格式基础上,有人可能会说WCF支持Restful风格服务支持json格式数据,的确是这样...这部分内容主要集中在对实例上下文概念和单例、单调、会话三种模式理解。在托管应用程序中,当创建一个托管对象时,CLR会在托管堆为该对象分配内存空间,对象生命终结对应内存回收。...而单例模式对资源消耗较少,每次完成调用就释放资源,但是当请求多时,会有很多请求需要排队,响应不够及时。而会话模式,根据用户来创建服务示例,算是一种折衷。...通过.svc文件来标识服务,提供ASP.NET并行和兼容两种模式,默认使用第一种,第二种仅在需要共享SessionState时,不常用。

1.3K50

WCF技术剖析(卷1)之前言

发布和导入、服务代理创建服务调用等等。...此外,还会深入介绍两种不同模式下,即ASP.NET并行模式ASP.NET Side by Side)和ASP.NET 兼容ASP.NET Compatible),实现WCF服务寄宿实现原理和表现行为...第八章 客户端(Client) 本章主要介绍在客户端如何创建服务代理进行服务调用,以及WCF客户端框架内部如何完成一次正常服务调用。...在本章最后部分还会为你提供基于会话服务调用最佳实践。...本章将详细介绍WCF三种典型事例化模式所表现行为、实现原理以及各自适合场景。在介绍会话部分会对深入剖析会话如何保持客户端多次服务调用状态,以及会话、实例化模式、绑定和信道之间关系。

957100

WCF技术剖析(卷2)》目录

WCF基本异常处理模式 1.1.1. 当异常从服务端抛出(S101) 1.1.2. 异常细节传播(S102) 1.1.3. 自定义异常信息 1.2....编写可靠会话服务 5.2.1. 实例演示:通过WCF服务传输图片(S501) 5.2.2. 可靠会话绑定 5.3. 可靠会话实现原理 5.3.1. 从信道层看可靠会话实现 5.3.2....从传输协议局限性和消息交换模式看可靠会话实现 5.3.3. 可靠会话最佳实践 第6章 队列服务 (Queued Services) 6.1. MSMQ简介 6.1.1. MSMQ能解决什么问题?...实例演示:通过扩展实现基于IoC服务实例创建(S903,S904) 第10章 WCF 4.0新特性(New Features in WCF 4.0) 10.1. 简化开发体验 10.1.1....可被发现服务(Discoverable Service) 10.3.3. 目标服务探测和解析 10.3.4. 实例演示:如何利用服务发现机制实现服务“动态”调用?(S1002) 10.3.5.

1.2K90

WCF系列教程之WCF会话

要求回话,即所有调用(支持调用基础消息交换)都必须是同一个会话一部分,如果回话结束,然后还在当前回话通道发送消息,则会重新开一个通道,进行和服务通话 (3)、NotAllowed:禁止会话,即服务端不会与客户端进行消息交换...3、影响WCF会话机制因素 (1)、设置了SessionMode值为Required,当采用BasicHttpBinding时,因为BasicHttpBinding不支持会话,所以程序报错. (2...NetNamedPipeBinding来说,由于其传输类型本身具有支持会话特性,所以采用了这两种绑定类型终结点服务协定会话模式不能设置为NotAllowed,即使关闭了安全会话和可靠会话也不行。...二、WCF回话和Asp.Net回话 1、WCF中回话主要功能有以下: (1)、他们由调用程序显示启动或者关闭 (2)、会话期间传递消息按照接收消息顺序进行处理。...注意:因为默认服务实例化模型(InstanceContextMode)采用PerSession,即每个服务实例都各自创建了一个会话通道,当Client调用Add后会话关闭,但Client1会话通道并没有关闭

75250

WCF技术剖析之八:ClientBase中对ChannelFactory缓存机制

和传统分布式远程调用一样,WCF服务调用借助于服务代理(Service Proxy)。而ChannelFactory则是服务代理创建者。...三、如何有效利用ChannelFactory缓存机制 为了能够充分利用ChannelFactory缓存机制,获得更好服务调用性能,我们可以得出以下两个最佳实践: 避免通过人为指定绑定对象创建...注:部分内容节选自《WCF技术剖析(卷1)》第八章:客户端(Clients) WCF技术剖析系列: WCF技术剖析之一:通过一个ASP.NET程序模拟WCF基础架构 WCF技术剖析之二:再谈IIS与ASP.NET...管道 WCF技术剖析之三:如何进行基于非HTTPIIS服务寄宿 WCF技术剖析之四:基于IISWCF服务寄宿(Hosting)实现揭秘 WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session...)WCF服务 WCF技术剖析之六:为什么在基于ASP.NET应用寄宿(Hosting)下配置BaseAddress无效 WCF技术剖析之七:如何实现WCF与EnterLib PIAB、Unity之间集成

873110

WCFASP.NET Web API 接口执行时间监控

具体可以参看 利用Windows性能计数器(PerformanceCounter)监控。 三种不同WCF相关性能计数器与.NET Framework 3.5 一起安装。...使用以下模式命名计数器实例: ServiceName@ServiceBaseAddress服务范围内计数器是从终结点集合中计数器聚合来。...创建 InstanceContext 时,用于创建服务实例性能计数器将递增。...请注意,即使在(通过现有服务)收到非激活消息时,或在从一个会话连接到实例、结束会话然后从其他会话重新进行连接时,也将创建 InstanceContext。...下面我们来讨论下WCFASP.NET Web API 接口执行时间监控,下面是我网上找到相关解决方案 Capturing WCF Request Execution Time :通过性能计数器和DispatchMessageInspector

1.4K80

Asp.net web api 知多少

所以,如果你想以快速且简单方式暴露你服务端数据到浏览器端和现代设备app上,你应该有一个API,它负责兼容浏览器和所有设备。...它不像WCF REST service那样需要配置乏味配置文件。 使用WEB API创建服务十分简单。 基于HTTP并且容易定义,以REST方式公开和使用。...当您想创建一个可以使用快速传输通道服务时,请选择WCF,如TCP,命名管道,或者甚至UDP(在WCF 4.5),并且当所有其他通道不可用时能够支持HTTP传输信道。...主要有以下区别: ASP.NET MVC 用来创建web应用返回视图和数据;但是ASP.NET WEB API 是用来创建完整HTTP服务,仅返回数据无视图返回。...主要区别有以下几点: 在WEB API 路由模式中 {action}参数是可选,但是你可以自行包含 一个 {action} 参数。在ASP.NET MVC中 {action} 参数是强制

4.8K50

WCF技术剖析之十五:数据契约代理(DataContractSurrogate)在序列化中作用

技术剖析(卷1)》第五章:序列化与数据契约(Serialization and Data Contract) WCF技术剖析系列: WCF技术剖析之一:通过一个ASP.NET程序模拟WCF基础架构 WCF...技术剖析之二:再谈IIS与ASP.NET管道 WCF技术剖析之三:如何进行基于非HTTPIIS服务寄宿 WCF技术剖析之四:基于IISWCF服务寄宿(Hosting)实现揭秘 WCF技术剖析之五:利用...ASP.NET兼容模式创建支持会话(Session)WCF服务 WCF技术剖析之六:为什么在基于ASP.NET应用寄宿(Hosting)下配置BaseAddress无效 WCF技术剖析之七:如何实现...WCF与EnterLib PIAB、Unity之间集成 WCF技术剖析之八:ClientBase中对ChannelFactory缓存机制 WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果...WCF技术剖析之十:调用WCF服务客户端应该如何进行异常处理 WCF技术剖析之十一:异步操作在WCF应用(上篇) WCF技术剖析之十一:异步操作在WCF应用(下篇) WCF技术剖析之十二:数据契约

80280

菜菜从零学习WCF九(会话、实例化和并发)

可以从会话派生功能取决于关联性质。 --不存在与WCF会话相关联常规数据存储区。 ASP.NET会话WCF会话区别 --ASP.NET会话总是由服务器启动。...--ASP.NET会话原来本是无序。 --ASP.NET会话提供了一种跨请求常规数据存储机制。 客户端应用程序和服务应用程序以不同方式与会话交互。...通过直接使用InstanceContext或实现一个自定义实例上下文提供程序,可以做到这一点 当WCF服务接受客户端会话时,默认情况下启用以下功能: --通过同一用户定义服务对象来处理WCF客户端对象之间所有调用...Perseesion:为每个新客户端会话创建一个新InstanceContext(以及相应服务对象),并在该会话生存期内对其进行维护(这需要使用支持会话绑定)。   ...若要使用此并发模式服务实现必须是线程安全。   Reentrant:每个服务实例一次只能处理一个消息,但可以接受可重入操作调用。仅当服务通过WCF客户端对象提供服务时才会接受这些调用。

44130

通过ASP.NET Output Caching实现声明式缓存

WCF通过操作行为AspNetCacheProfileAttribute利用ASP.NET输出缓存提供一种针对于某个操作声明式缓存机制。...关于CacheProfile配置属于ASP.NET范畴,在这里我们不会作过多讨论。 既然是采用ASP.NET输出缓存,WCF服务自然需要采用IIS寄宿并采用ASP.NET 兼容模式。...我们将AspNetCompatibilityRequirementsAttribute特性应用在服务类型上并将RequirementsMode属性设置为Allowed以提供对ASP.NET兼容模式支持...True以开启ASP.NET兼容模式。...既然我们采用ASP.NET兼容模式来寄宿服务,意味着我们调用某个服务与访问某个页面没有本质区别,所以基于Web页面的输出缓存能够应用于基于某个服务操作调用就不足为奇了。

74470

WCF 4.5:配置文件更小,对ASP.NET支持更好

尽管把WCF部署在Windows服务中是完全可以接受,但是大多数开发者会在工作中继续使用IIS。为什么不呢,IIS提供了对很多特性内建支持,像身份验证、状态管理以及过程回收等。...但是在这个模型中还有一些微软正在努力解决限制。例如,当前开发者需要在两个地方配置哪种身份验证方式能够得到支持。如果他们意外忘记了sync,那么服务就会停止运行。...请注意这完全是客户端工具问题,WSDL会列出所有选项。 在WSDL中存在缺陷在于为HTTPS服务端口创建URI方面。...Ori认为, 当你把WCF服务部署在IIS中时,即便你不使用ASP.NET兼容模式,也会占用一些ASP.NET管道,这在MSDN文章《WCF 服务ASP.NET》中有记录(你需要查找关于PostAuthenticateRequest...ASP.NET支持更好

87350

WCF学习笔记 1

WCF具有如下优势:   1、统一性 2、互操作性 3、安全与可信赖 4、兼容性 理解面向服务(SOA) SOA是指为了解决在Internet环境下业务集成需要,通过连接能完成特定任务独立功能实体实现一种软件系统架构...SOA原则: 1、边界清晰 2、服务自治 3、兼容性基于策略 4、共享模式(schma)和契约 WCF体系架构简介 ? 契约与说明 契约定义消息系统各个方面。...处理事务; 调度行为:控制WCF处理消息方式; 消息传递 消息传递层:说明数据交换格式和传输模式。...当客户端添加WCF服务引用时候,会首先通过元数据取得服务器端契约信息、终结点信息,然后根据这些信息在客户端创建了代理类,我们在客户端调用WCF服务过程实际上就是通过代理类调用WCF服务过程。...WCF:其实一定程度上就是一个特殊ASP.NET WebService,因为它支持Web Service行业标准和核心协议,因此ASP.NET WebService和WSE能做事情,它几乎都能胜任

89240

通过ASP.NET Output Caching实现声明式缓存

WCF通过操作行为AspNetCacheProfileAttribute利用ASP.NET输出缓存提供一种针对于某个操作声明式缓存机制。...关于CacheProfile配置属于ASP.NET范畴,在这里我们不会作过多讨论。 既然是采用ASP.NET输出缓存,WCF服务自然需要采用IIS寄宿并采用ASP.NET 兼容模式。...我们将AspNetCompatibilityRequirementsAttribute特性应用在服务类型上并将RequirementsMode属性设置为Allowed以提供对ASP.NET兼容模式支持...True以开启ASP.NET兼容模式。...既然我们采用ASP.NET兼容模式来寄宿服务,意味着我们调用某个服务与访问某个页面没有本质区别,所以基于Web页面的输出缓存能够应用于基于某个服务操作调用就不足为奇了。

76280
领券