none
在与WCF服务交互过程中传递用户信息等附加信息 RRS feed

  • 常规讨论

  • 1、在与WCF服务交互过程中传递用户信息等附加信息 在Web应用中,我们可以使用Session或Cookies在浏览器与Server间维护会话状态及传递附加信息。假设有这样的需求,用户正常登陆系统后,Server产生一个UserIdentity发送到Client端,在此后的Client每次调用Service时都需要传递此UserIdentity传递到Server端以进行用户身份认证及权限审核。在WCF应用中有没有什么方法可以实现同样功能呢? 首先我们看看MSDN中对WCF的Session的说明: 它们由调用应用程序显式启动和终止。 会话期间传递的消息按照接收消息的顺序进行处理。 会话将一组消息相互关联,从而形成对话。该关联的含义是抽象的。例如,一个基于会话的通道可能会根据共享网络连接来关联消息,而另一个基于会话的通道可能会根据消息正文中的共享标记来关联消息。可以从会话派生的功能取决于关联的性质。 不存在与 WCF 会话相关联的常规数据存储区。 最后一句告诉我们,WCF中的Session是无法像Web应用一样存储附加信息的。 经过研究,我们可以通过扩展MessageHeader实现一个附加的数据存储区在Client端每次请求Service时发送到Server端。具体实现如下(以前述需求为例)。http://blog.csdn.net/lhzyn/archive/2008/03/28/2226249.aspx
    2009年6月22日 3:27