我有 aspNetCompatibility = "true" 的 wcf + rest web 服务。为了提供自定义身份验证,我编写了 asp.net http 模块:IHttpModule。代码非常简单:只需将一些主体分配给 Thread.CurrentPrinicpal 属性。
在方法执行期间,我仍然将“空/默认”主体作为 Thread.CurrentPrincipal 的值。我还注意到模块和操作执行中有不同的线程 ID(Thread.CurrentThread)。我建议 wcf 提供一个新线程来执行操作,但没有找到任何证据。
所以问题是:我是对的吗?wcf 是否允许控制该行为?我在这里很困惑,因为创建新线程会自动将主体移动到新线程。因此 wcf '清理'他们..
与 principalPermissionMode="None" 相同的问题。
我会很感激任何想法!
干杯!