WCF技术剖析:如何用ASP.NET兼容模式构建支持会话的WCF服务实例?

2026-05-25 09:362阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2250个文字,预计阅读时间需要9分钟。

WCF技术剖析:如何用ASP.NET兼容模式构建支持会话的WCF服务实例?

在《基于IIS的WCF服务托管(Hosting)》一文中,我们探讨了采用基于IIS(或ASP.NET)的WCF服务托管时,存在两种不同的运行模式:ASP.NET并行(Side by Side)模式和ASP.NET兼容模式。

在《基于IIS的WCF服务寄宿(Hosting)实现揭秘》中,我们谈到在采用基于IIS(或者说基于ASP.NET)的WCF服务寄宿中,具有两种截然不同的运行模式:ASP.NET并行(Side by Side)模式和ASP.NET兼容模式。对于前者,WCF通过HttpModule实现了服务的寄宿,而对于后者,WCF的服务寄宿通过一个HttpHandler实现。只有在ASP.NET兼容模式下,我们熟悉的一些ASP.NET机制才能被我们使用,比如通过HttpContext的请求下下文;基于文件或者Url的授权;HttpModule扩展;身份模拟(Impersonation)等。

WCF技术剖析:如何用ASP.NET兼容模式构建支持会话的WCF服务实例?

由于在ASP.NET兼容模式下,ASP.NET采用与.aspx Page完全一样的方式处理基于.svc的请求,换言之,我们就可以借助当前HttpContext的SessionState维护会话状态,进而创建一个支持会话的WCF Service。接下来,我们就通过一个简单的例子,一步步地创建这样的会话服务。本案例采用如图1所示的3层结构。

阅读全文

本文共计2250个文字,预计阅读时间需要9分钟。

WCF技术剖析:如何用ASP.NET兼容模式构建支持会话的WCF服务实例?

在《基于IIS的WCF服务托管(Hosting)》一文中,我们探讨了采用基于IIS(或ASP.NET)的WCF服务托管时,存在两种不同的运行模式:ASP.NET并行(Side by Side)模式和ASP.NET兼容模式。

在《基于IIS的WCF服务寄宿(Hosting)实现揭秘》中,我们谈到在采用基于IIS(或者说基于ASP.NET)的WCF服务寄宿中,具有两种截然不同的运行模式:ASP.NET并行(Side by Side)模式和ASP.NET兼容模式。对于前者,WCF通过HttpModule实现了服务的寄宿,而对于后者,WCF的服务寄宿通过一个HttpHandler实现。只有在ASP.NET兼容模式下,我们熟悉的一些ASP.NET机制才能被我们使用,比如通过HttpContext的请求下下文;基于文件或者Url的授权;HttpModule扩展;身份模拟(Impersonation)等。

WCF技术剖析:如何用ASP.NET兼容模式构建支持会话的WCF服务实例?

由于在ASP.NET兼容模式下,ASP.NET采用与.aspx Page完全一样的方式处理基于.svc的请求,换言之,我们就可以借助当前HttpContext的SessionState维护会话状态,进而创建一个支持会话的WCF Service。接下来,我们就通过一个简单的例子,一步步地创建这样的会话服务。本案例采用如图1所示的3层结构。

阅读全文