ASP.NET Web Services与Silverlight数据交互及绑定技术解析
1. 使用ASP.NET平台服务
在使用WCF服务时,通常无法直接访问ASP.NET平台的特性。尽管ASP.NET负责编译和托管服务,但服务不能使用以下特性:
- 会话状态
- 数据缓存
- web.config文件中的授权规则
- 基于提供者的特性,如身份验证、成员资格和配置文件
这样设计是有道理的,因为WCF服务旨在独立于ASP.NET平台。使用仅适用于ASP.NET的特性存在风险,会限制服务迁移到其他主机、使用其他传输协议的能力。不过在某些场景下,ASP.NET特性可以显著节省工作量。
若要在Web服务中访问ASP.NET特性,可使用 System.Web.HttpContext 类的静态 Current 属性。 HttpContext 表示承载服务的HTTP环境,通过其属性可访问关键的ASP.NET对象,如 Session (每个用户的会话状态)、 Application (全局应用程序状态)、 Cache (数据缓存)等。
以下是使用 HttpContext 访问数据缓存的示例代码:
[OperationContract]
public Product[] GetAllProducts()
{
// Check the cache
超级会员免费看
订阅专栏 解锁全文
10

被折叠的 条评论
为什么被折叠?



